for/in

The for keyword is used in two ways in JavaScript. We’ve just seen how it is used in the for loop. It is also used in the for/in statement. This statement is a somewhat different kind of loop with the following syntax:

for (variable in object)
    statement

variable should be either the name of a variable, a var statement declaring a variable, an element of an array, or a property of an object (i.e., it should be something suitable as the leftthand side of an assignment expression). object is the name of an object or an expression that evaluates to an object. As usual, statement is the statement or statement block that forms the body of the loop.

You can loop through the elements of an array by simply incrementing an index variable each time through a while or for loop. The for/in statement provides a way to loop through the properties of an object. The body of the for/in loop is executed once for each property of object. Before the body of the loop is executed, the name of one of the object’s properties is assigned to variable, as a string. Within the body of the loop, you can use this variable to look up the value of the object’s property with the [] operator. For example, the following for/in loop prints the name and value of each property of an object:

for (var prop in my_object) {
    document.write("name: " + prop + "; value: " + my_object[prop], "<br>");
}

Note that the variable in the for/in loop may be an arbitrary expression, as long as it evaluates to something ...

Get JavaScript: The Definitive Guide, Fourth Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.