{{deprecated_header()}}
Summary
Iterates a specified variable over all values of object's properties. For each distinct property, a specified statement is executed.
Version Information
Statement | |
Implemented in: | JavaScript 1.6 |
ECMAScript Version: | none |
Syntax
for each (variable in object) {
statement
}
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.
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.
Examples
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
See also
- for...in - a similar statement that iterates over the property names.
- for...of - a similar statement that iterates over the property values but there is some behavior that is different from
for each...in
statements. - for
- Array comprehensions (these use
for each
) - Iterator - a function that takes a collection as an argument and allows traversal of its properties through subsequent methods