2012-01-02 20 views

Respuesta

48

Object.keys devolverá todas las claves en el objeto como una lista, luego use la longitud para obtener la longitud.

ejemplo:

Object.keys(hash_table).length 

en cuenta que este es ECMA 5 y puede no estar disponible en algunos navegadores. ver https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys para el documento completo.

+0

¿Volvería también propiedades heredadas? – rsk82

+0

No, solo devolverá propiedades propias. – qiao

+0

Según tengo entendido, Object.keys no es compatible con IE8 y versiones anteriores, así que ten cuidado ... –

2
var count = 0; 
for (property in hash_table) count++; 
+0

JSON es un formato de intercambio de datos y no tiene nada que ver con JavaScript, además del nombre y la sintaxis similar . JavaScript no tiene "matrices asociativas", solo matrices. –

+0

gracias por su feedbacK: ¡He editado mi respuesta en consecuencia! – simonecampora

+0

Aún así, ¿a qué te refieres con "usar matrices de manera asociativa"? La propiedad 'length' solo se actualiza para propiedades numéricas, es decir. 'arr [0] = 42.'. Las propiedades no numéricas no actualizan 'length' y no deberían usarse para arrays, ya que son confusas. –

Cuestiones relacionadas