获取Json对象上的项目总数?
可能重复:
Javascript对象的长度(即关联数组)
我有一个类似于这个的对象:
var jsonArray = { '-1': { '-1': 'b', '2': 'a', '10': 'c' }, '2': { '-1': 'a', '2': 'b', '10': 'a' }, '5': { '-1': 'a', '2': 'a', '10': 'b' } };
我试图得到它的长度,问题是, jsonArray.length
返回5而不是3(这是它的总项目)。 数组相对较长(有1000×2000项),每秒钟必须完成很多次。 我怎样才能更有效地获得物品的数量?
除了基兰的回答,显然,现代浏览器有一个Object.keys
function。 在这种情况下,你可以这样做:
Object.keys(jsonArray).length;
在这个答案的更多细节如何列出一个javascript对象的属性
这是一个对象,你想要计算它的属性。
Object.keys(jsonArray).length
参考文献:
-
Object.keys
。 - Kangax的compat表 。
这是你的实际代码? JavaScript对象(这是你给我们的)没有长度属性,所以在这种情况下, exampleArray.length
返回未定义,而不是5。
这个计算器解释了一个对象和一个数组之间的长度差异, 这个计算器显示了如何获得一个对象的大小。