Get total number of items on Json object?
Possible Duplicate:
Length of Javascript Object (ie. Associative Array)
I have an object similar to this one:
var jsonArray = {
'-1': {
'-1': 'b',
'2': 'a',
'10': 'c'
},
'2': {
'-1': 'a',
'2': 'b',
'10': 'a'
},
'5': {
'-1': 'a',
'2': 'a',
'10': 'b'
}
};
I'm trying to get it's length, the problem is that jsonArray.length
returns 5 instead of 3 (which is the total items it has). The array is relatively long (has 1000x2000 items) and this must be done a lot of times every second. How can I get the number of items more efficiently?
In addition to kieran's answer, apparently, modern browsers have an Object.keys
function. In this case, you could do this:
Object.keys(jsonArray).length;
More details in this answer on How to list the properties of a javascript object
That's an Object and you want to count the properties of it.
Object.keys(jsonArray).length
References:
Object.keys
. Is that your actual code? A javascript object (which is what you've given us) does not have a length property, so in this case exampleArray.length
returns undefined rather than 5.
This stackoverflow explains the length differences between an object and an array, and this stackoverflow shows how to get the 'size' of an object.
链接地址: http://www.djcxy.com/p/27250.html上一篇: 如何获得JavaScript哈希表计数?
下一篇: 获取Json对象上的项目总数?