Ответ 1
В дополнение к ответу kieran, по-видимому, современные браузеры имеют функцию Object.keys
. В этом случае вы можете сделать это:
Object.keys(jsonArray).length;
Подробнее в этом ответе на Как перечислить свойства объекта javascript
Возможный дубликат:
Длина объекта 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 (это общие элементы, которые у него есть). Массив относительно длинный (имеет 1000x2000 элементов), и это нужно делать много раз каждую секунду. Как я могу получить количество элементов более эффективно?
В дополнение к ответу kieran, по-видимому, современные браузеры имеют функцию Object.keys
. В этом случае вы можете сделать это:
Object.keys(jsonArray).length;
Подробнее в этом ответе на Как перечислить свойства объекта javascript
Это объект, и вы хотите подсчитать его свойства.
Object.keys(jsonArray).length
Литература:
Это ваш фактический код? Объект javascript (который вы нам предоставили) не имеет свойства length, поэтому в этом случае exampleArray.length
возвращает undefined, а не 5.
fooobar.com/info/75533/... объясняет различия по длине между объектом и массивом, а fooobar.com/info/657/... показывает, как получить "размер" объекта.