obtener - recorrer array de objetos javascript
Obtener el nĂºmero total de elementos en el objeto Json? (3)
¿Es ese tu código real? Un objeto javascript (que es lo que nos ha proporcionado) no tiene una propiedad de longitud, por lo que en este caso exampleArray.length
devuelve undefined en lugar de 5.
Este stackoverflow explica las diferencias de longitud entre un objeto y una matriz, y este stackoverflow muestra cómo obtener el ''tamaño'' de un objeto.
Posible duplicado:
Longitud del objeto Javascript (es decir, matriz asociativa)
Tengo un objeto similar a este:
var jsonArray = {
''-1'': {
''-1'': ''b'',
''2'': ''a'',
''10'': ''c''
},
''2'': {
''-1'': ''a'',
''2'': ''b'',
''10'': ''a''
},
''5'': {
''-1'': ''a'',
''2'': ''a'',
''10'': ''b''
}
};
Estoy tratando de obtener su longitud, el problema es que jsonArray.length
devuelve 5 en lugar de 3 (que es el total de elementos que tiene). La matriz es relativamente larga (tiene 1000x2000 elementos) y esto debe hacerse muchas veces por segundo. ¿Cómo puedo obtener la cantidad de artículos de manera más eficiente?
Además de la respuesta de Kieran, aparentemente, los navegadores modernos tienen una función Object.keys
. En este caso, podrías hacer esto:
Object.keys(jsonArray).length;
Más detalles en esta respuesta sobre Cómo enumerar las propiedades de un objeto javascript
Eso es un Objeto y quieres contar las propiedades del mismo.
Object.keys(jsonArray).length
Referencias