有没有可以返回对象长度的内置函数?
例如,我有 a = { 'a':1,'b':2,'c':3 }
应该返回 3
。如果我使用 a.length
它返回 undefined
.
可能是一个简单的循环函数,但我想知道是否有内置函数?
有一个相关问题 (Length of a JSON object) - 在选择的答案中,用户建议将对象转换为数组,这对我的任务来说不是很舒服。
最佳答案
对于支持 Object.keys() 的浏览器你可以这样做:
Object.keys(a).length;
否则(特别是在 IE < 9 中),您可以自己使用 for (x in y)
循环遍历对象:
var count = 0;
var i;
for (i in a) {
if (a.hasOwnProperty(i)) {
count++;
}
}
hasOwnProperty
用于确保您只计算对象字面量的属性,而不是它从原型(prototype)“继承”的属性。
关于javascript - 如何获取对象长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5533192/