javascript - Jak uzyskać długość „nazwanej” tablicy?
Nie jestem pewien, jak się nazywają, ale mam na myśli to:
array["water"] = 50;
array["fire"] = 30;
tutaj długość powinna wynosić 2
jak mogę zobaczyć, ile atrybutów mam w tablicy? array.length nie działa =( Próbowałem różnych rzeczy i czuję, że brakuje mi czegoś naprawdę prostego..
Dziękuję za twoją pomoc
Odpowiedź #1
Możesz użyć Object.keys(), aby uzyskać tablicę kluczy, a następnie je policzyć:
Object.keys(array).length
Albo, jeśli celujesz w ECMAScript 3 lub w przeciwnym razie nie masz Object.keys(), wtedy możesz policzyć klucze ręcznie:
var length = 0;
for (var key in array) {
if (array.hasOwnProperty(key)) {
++length;
}
}
Istnieje kilka wyjątkowych przypadków związanych z tym podejściem, w zależności od przeglądarek, które są celem, więc użycie polyfilla Mozilli dla Object.keys() może być dobrym pomysłem.
