The for each...in
statement is deprecated as the part of ECMA-357 (E4X) standard. E4X support has been removed. Consider using for...of instead. (Please refer to bug 791343.)
Firefox now warns about the usage of for each...in
and for each...in
is removed from nightly. Please see Warning: JavaScript 1.6's for-each-in loops are deprecated for migration help.
The for each...in
statement iterates a specified variable over all values of object's properties. For each distinct property, a specified statement is executed.
for each (variable in object) { statement }
variable
var
keyword. This variable is local to the function, not to the loop.object
statement
{ ... }
) to group those statements.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.
for each...in
Warning: Never use a loop like this on arrays. Only use it on objects. See for...in
for more 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; } console.log(sum); // logs "26", which is 5+13+8
Not part of a current ECMA-262 specification. Implemented in JavaScript 1.6 and deprecated.
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | No support | 1.5 (1.8) | No support | No support | No support |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | No support | No support | 1.0 (1.0) | No support | No support | No support |
for each...in
is removed only on Nightly from Firefox 53for...in
- a similar statement that iterates over the property names.for...of
- a similar statement that iterates over the property values but can only be used for iteratable types, so not for generic objectsfor
© 2005–2017 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for_each...in