是否有任何内置函数可以返回对象的长度?
例如,我有a = { 'a':1,'b':2,'c':3 }哪个应该返回3。如果我使用a.length它返回undefined。
a = { 'a':1,'b':2,'c':3 }
3
a.length
undefined
它可能是一个简单的循环函数,但我想知道是否有内置函数?
对于支持Object.keys()的浏览器,您可以执行以下操作:
Object.keys(a).length;
否则(特别是在IE <9中),您可以使用循环自己遍历对象for (x in y):
for (x in y)
var count = 0; var i; for (i in a) { if (a.hasOwnProperty(i)) { count++; } }
该hasOwnProperty是有确保你只从字面对象计数的属性,而不是从它的原型属性是“继承”。
hasOwnProperty