如何获取对象长度
2022-08-29 23:57:35
是否有任何内置函数可以返回对象的长度?
例如,我有哪个应该返回.如果我使用它,则返回.a = { 'a':1,'b':2,'c':3 }
3
a.length
undefined
它可能是一个简单的循环函数,但我想知道是否有内置函数?
有一个相关的问题(JSON对象的长度) - 在选择的答案中,用户建议将对象转换为数组,这对于我的任务来说不太舒服。
是否有任何内置函数可以返回对象的长度?
例如,我有哪个应该返回.如果我使用它,则返回.a = { 'a':1,'b':2,'c':3 }
3
a.length
undefined
它可能是一个简单的循环函数,但我想知道是否有内置函数?
有一个相关的问题(JSON对象的长度) - 在选择的答案中,用户建议将对象转换为数组,这对于我的任务来说不太舒服。
对于支持 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
这应该这样做:
Object.keys(a).length
但是,在IE8及更低版本,Opera和FF 3.6及以下版本中不受支持。Object.keys