javascript - 计算对象

Abe*_*Abe 3 javascript jquery count

我有一个javascript对象,其中包含6个可能包含其他数组或对象的对象.使用javascript或jquery,如何快速计算这6个顶级对象的数量

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={...}}
Run Code Online (Sandbox Code Playgroud)

ale*_*lex 5

你可以这样做......

var objectsLength = 0;
for ({}[++objectsLength] in objects) {}
Run Code Online (Sandbox Code Playgroud)

jsFiddle.

它有点时髦,但也很酷.不过,由于它的不寻常,我只是建议更常见的方法......

var objectsLength = 0;
for (var prop in objects) {
    objectsLength++;
}
Run Code Online (Sandbox Code Playgroud)

jsFiddle.

如果您不确定您的环境并认为它们可能是原型链上的可迭代属性,请使用hasOwnProperty()(或创建您的对象Object.create(null)).

如果浏览器支持对您有利...

var objectsLength = Object.keys(objects).length;
Run Code Online (Sandbox Code Playgroud)

jsFiddle.

  • @bfavaretto这个位置确实如此.左侧表达式始终通过[*Call PutValue(lhsRef,P)*](http://es5.github.io/#x12.6.4)设置为键名,显然它是单个变量还是使用成员运营商. (2认同)