I have a javascript object that contains 6 objects that may contain additional arrays or objects. Using javascript or jquery, how can I quickly count number of these 6 top level objects
1 Object { salesman="1714, name="Lucien Layton", events={...}}
2 Object { salesman="1715", name="Hugo Hayne", events={...}}
3 Object { salesman="17165", name="Jonas Jessie", events={...}}
4 Object { salesman="1718", name="Ezequiel Ebner", events={...}}
5 Object { salesman="1721", name="Randolph Rodda", events={...}}
6 Object { salesman="1722", name="Edwin Earles", events={...}}
You could do this...
var objectsLength = 0;
for ({}[++objectsLength] in objects) {}
jsFiddle.
It's kind of funky, but also cool. Still, due to its unusualness, I'd just suggest the more common method...
var objectsLength = 0;
for (var prop in objects) {
objectsLength++;
}
jsFiddle.
If you're unsure about your environment and think they're might be iterable properties on the prototype chain, use hasOwnProperty() (or create your objects with Object.create(null)).
If browser support is in your favour...
var objectsLength = Object.keys(objects).length;
jsFiddle.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With