Statement (JavaScript)

Executes one or more statements for each property of an object, or each element of an array.


for (variable in [object | array]) {  


Required. A variable that can be any property name of object or any element index of an array.

object, array
Optional. An object or array over which to iterate.

Optional. One or more statements to be executed for each property of object or each element of array. Can be a compound statement.


At the beginning of each iteration of a loop, the value of variable is the next property name of object or the next element index of array. You can then use variable in any of the statements inside the loop to reference the property of object or the element of array.

The properties of an object are not assigned in a determinate manner. You cannot specify a particular property by its index, only by the name of the property.

Iterating through an array is performed in element order, that is, 0, 1, 2.


The following example illustrates the use of the statement with an object used as an associative array.

// Initialize object.  
a = {"a" : "Athens" , "b" : "Belgrade", "c" : "Cairo"}  

// Iterate over the properties.  
var s = ""  
for (var key in a) {  
    s += key + ": " + a[key];  
    s += "<br />";  
document.write (s);  

// Output:  
// a: Athens  
// b: Belgrade  
// c: Cairo  


This example illustrates the use of the for ... in statement to iterate though an Array object that has expando properties.

// Initialize the array.  
var arr = new Array("zero","one","two");  

// Add a few expando properties to the array.  
arr["orange"] = "fruit";  
arr["carrot"] = "vegetable";  

// Iterate over the properties and elements.  
var s = "";  
for (var key in arr) {  
    s += key + ": " + arr[key];  
    s += "<br />";  

document.write (s);  

// Output:  
//   0: zero  
//   1: one  
//   2: two  
//   orange: fruit  
//   carrot: vegetable  


Use the Enumerator object to iterate over the members of a collection.


Supported in the following document modes: Quirks, Internet Explorer 6 standards, Internet Explorer 7 standards, Internet Explorer 8 standards, Internet Explorer 9 standards, Internet Explorer 10 standards, Internet Explorer 11 standards. Also supported in Store apps (Windows 8 and Windows Phone 8.1). See Version Information.

See Also

for Statement
while Statement