2012-01-02 12 views

risposta

48

Object.keys restituirà tutte le chiavi dell'oggetto come un elenco, quindi utilizzerà la lunghezza per ottenere la lunghezza.

esempio:

Object.keys(hash_table).length 

notare che questa è ECMA 5 e potrebbe non essere disponibile in alcuni browser. vedi https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/keys per il documento completo.

+0

Restituisce anche proprietà ereditate? – rsk82

+0

No, restituirà solo le proprie proprietà. – qiao

+0

Come ho capito, Object.keys non è supportato in IE8 e inferiore, quindi attenzione ... –

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

JSON è un formato di scambio dati e non ha nulla a che fare con JavaScript, oltre al nome e sintassi simile . JavaScript non ha "Array associativi", solo array. –

+0

grazie per il tuo feedbacK: Ho modificato la mia risposta di conseguenza! – simonecampora

+0

Ancora, cosa intendi con "usare gli array in modo associativo"? La proprietà 'length' viene aggiornata solo per le proprietà numeriche, ad es. 'arr [0] = 42'. Le proprietà non numeriche non aggiornano 'length' e non dovrebbero essere usate per gli array in quanto è solo fonte di confusione. –

Problemi correlati