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

时间:2013-07-31 06:24:41

标签: javascript jquery

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

假设我有一个obj对象,

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

那么在这种情况下有没有结果3的方法?

3 个答案:

答案 0 :(得分:6)

Object.keys返回一个数组,其中包含对象的拥有的可枚举属性的名称,因此:

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

请注意,可能涉及一个循环(在Object.keys内),但至少它在JavaScript引擎中。 ES5添加了Object.keys,因此旧浏览器可能没有它(它可以“填充”,但是可以搜索“es5 shim”选项)。

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

我不相信有任何方法可以获得对象的非可枚举属性的列表(这将是他们的意思!)。

答案 1 :(得分:2)

您可以在Object.keys()

中使用modern browsers
Object.keys(obj).length

答案 2 :(得分:-1)

您可以使用

Object.keys(obj).length;

P.S。仅限现代浏览器。