Ricerca nel sito web

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.