javascript - Ottenere la lunghezza di un array 'nominato'?
Non sono sicuro di come si chiamino, ma quello che intendo è questo:
array["water"] = 50;
array["fire"] = 30;
la lunghezza dovrebbe essere 2 qui
come posso vedere quanti attributi ho nell'array? array.length non funziona =( Ho provato ogni genere di cosa e sento di star perdendo qualcosa di davvero semplice qui..
Grazie per il tuo aiuto
Risposta n. 1
Puoi usare Object.keys() per ottenere un array di chiavi, poi contarle:
Object.keys(array).length
Oppure, se stai prendendo di mira ECMAScript 3 o altrimenti non hai Object.keys(), allora puoi contare le chiavi manualmente:
var length = 0;
for (var key in array) {
if (array.hasOwnProperty(key)) {
++length;
}
}
Ci sono comunque alcuni casi limite con questo approccio, a seconda dei browser a cui ti stai rivolgendo, quindi usare il polyfill di Mozilla per Object.keys() potrebbe essere una buona idea.
