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?
You can get the number of elements in an array using yourArray. length .
No, it isn't possible to do math or any kind of expression in JSON as JSON is just a data structure format, and not a programming language.
JSON Syntax JSON defines only two data structures: objects and arrays. An object is a set of name-value pairs, and an array is a list of values. JSON defines seven value types: string, number, object, array, true, false, and null.
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.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With