I have an object in JavaScript:
{
abc: '...',
bca: '...',
zzz: '...',
xxx: '...',
ccc: '...',
// ...
}
I want to use a for
loop to get its properties. And I want to iterate it in parts (not all object properties at once).
With a simple array I can do it with a standard for
loop:
for (i = 0; i < 100; i++) { ... } // first part
for (i = 100; i < 300; i++) { ... } // second
for (i = 300; i < arr.length; i++) { ... } // last
But how to do it with objects?
Best Answer
For iterating on keys of Arrays, Strings, or Objects, use
for .. in
:With ES6, if you need both keys and values simultaneously, do
To avoid logging inherited properties, check with hasOwnProperty :
You don't need to check
hasOwnProperty
when iterating on keys if you're using a simple object (for example one you made yourself with{}
).This MDN documentation explains more generally how to deal with objects and their properties.
If you want to do it "in chunks", the best is to extract the keys in an array. As the order isn't guaranteed, this is the proper way. In modern browsers, you can use
To be more compatible, you'd better do this :
Then you can iterate on your properties by index:
yourobject[keys[i]]
: