Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

javascript - counting objects

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={...}}
like image 422
Abe Avatar asked Jul 19 '26 01:07

Abe


1 Answers

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.

like image 147
alex Avatar answered Jul 20 '26 15:07

alex