有没有可以返回对象长度的内置函数?
例如,我有a = { 'a':1,'b':2,'c':3 }which 应该返回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