Potrzebuję uzyskać tylko pierwszy element (właściwie tylko pierwszy klucz) z dość dużej tablicy asocjacyjnej w JavaScript. Oto jak ja to robię obecnie (przy użyciu jQuery):Jaki jest najskuteczniejszy sposób uzyskania pierwszego elementu z tablicy asocjacyjnej w JavaScript?
getKey = function (data) {
var firstKey;
$.each(data, function (key, val) {
firstKey = key;
return false;
});
return firstKey;
};
tylko zgadywać, ale powiedziałbym, że musi być lepszy (czytaj: bardziej wydajne) sposób to zrobić. Jakieś sugestie?
AKTUALIZACJA: Dzięki za wnikliwe odpowiedzi i komentarze! Zapomniałem mojego JavaScript 101, w którym specyfikacja mówi, że nie ma gwarancji określonej kolejności w tablicy asocjacyjnej. Interesujące jest jednak to, że większość przeglądarek implementuje je w ten sposób. Wolałbym nie sortować tablicy przed uzyskaniem pierwszego klucza, ale może to być nieuniknione, biorąc pod uwagę mój przypadek użycia.
Jeśli jest to tablica asocjacyjna, skąd wiadomo, jaki jest pierwszy element? –
Myślę, że oznacza on pierwszy element, który został wstawiony do tablicy. –
Jeśli chcesz, musisz zbudować własną implementację stosu. Tablice Assoc nie zachowują żadnego porządku. –