Visit Mozilla.org

Core JavaScript 1.5 Reference:Statements:for each...in

From MDC


Contents

[edit] Summary

Iterates a specified variable over all values of object's properties. For each distinct property, a specified statement is executed.

Statement
Implemented in: JavaScript 1.6
ECMA Version: none

[edit] Syntax

for each (variable in object)
  statement

[edit] Parameters

variable 
Variable to iterate over property values, optionally declared with the var keyword. This variable is local to the function, not to the loop.
object 
Object for which the properties are iterated.
statement 
A statement to execute for each property. To execute multiple statements within the loop, use a block statement ({ ... }) to group those statements.

[edit] Description

Some built-in properties are not iterated over. These include all built-in methods of objects, e.g. String's indexOf method. However, all user-defined properties are iterated over.

[edit] Examples

[edit] Example: Using for each...in

Warning: Never use a loop like this on arrays. Only use it on objects. Details.

The following snippet iterates over an object's properties, calculating their sum:

var sum = 0;
var obj = {prop1: 5, prop2: 13, prop3: 8};
for each (var item in obj) {
  sum += item;
}
print(sum); // prints "26", which is 5+13+8

[edit] See also

  • for...in - a similar statement that iterates over the property names.
  • for