关于javascript:如何获取大小或计算对象属性的数量?

how to get size or count the number of properties of an object?

本问题已经有最佳答案,请猛点这里访问。

是否有任何方法来计算对象的属性(或大小)数量(不想使用任何循环)?

假设我有一个对象obj as,

1
obj={id:'0A12',name:'nishant',phone:'mobile'};

那么,在这种情况下,是否有任何方法可以产生3?


Object.keys返回一个数组,该数组包含对象自身可枚举属性的名称,因此:

1
var count = Object.keys(obj).length;

注意,可能会有一个循环(在Object.keys中),但至少它在javascript引擎中。Object.keys是由es5添加的,因此旧的浏览器可能没有它(尽管它可以"填充",但可以搜索"es5填充"以获得选项)。

注意,这与for-in迭代的属性列表并不完全相同,因为for-in包含从原型继承的属性。

我不相信有任何方法可以获得对象的不可枚举属性列表(这就是它们的要点!).


您可以在现代浏览器中使用object.keys()。

1
Object.keys(obj).length


你可以使用

1
Object.keys(obj).length;

仅适用于现代浏览器。