【发布时间】:2013-07-31 13:08:56
【问题描述】:
有什么方法可以计算对象的属性(或大小)数量(不想使用任何循环)?
假设我有一个对象 obj,
obj={id:'0A12',name:'nishant',phone:'mobile'};
那么在这种情况下,有什么方法可以得到 3 的结果吗?
【问题讨论】:
标签: javascript jquery
有什么方法可以计算对象的属性(或大小)数量(不想使用任何循环)?
假设我有一个对象 obj,
obj={id:'0A12',name:'nishant',phone:'mobile'};
那么在这种情况下,有什么方法可以得到 3 的结果吗?
【问题讨论】:
标签: javascript jquery
Object.keys 返回一个数组,其中包含对象的自己的可枚举属性的名称,所以:
var count = Object.keys(obj).length;
请注意,很可能涉及到一个循环(在Object.keys 内),但至少它在 JavaScript 引擎内。 Object.keys 是由 ES5 添加的,因此较旧的浏览器可能没有它(不过,它可以“填充”;搜索“es5 shim”以获取选项)。
请注意,这与for-in 迭代的属性列表并不完全相同,因为for-in 包含从原型继承的属性。
我不相信有任何方法可以获取对象的不可枚举属性的列表(这就是它们的重点!)。
【讨论】:
你可以在modern browsers中使用Object.keys()
Object.keys(obj).length
【讨论】:
你可以使用
Object.keys(obj).length;
附:仅在现代浏览器中。
【讨论】: