Tuesday, December 8, 2009

JavaScript widziany okiem programisty Java - tablice

W trakcie prototypowania małego serwisu internetowego próbowałem iterować po tablicy - o tak:

var links = [['link1', 'title1'], ['link2', 'title2']];
for (link in links) {
  alert(link); 
  // do stuff with link 



Zagadka: co wypisze wywołanie alert(link);? Otóż 0 i 1. Żadna niespodzianka, jeśli wie się, że tablice w JavaScript są obiektem, a nie typem wbudowanym jak w wielu językach programowania, a iterowanie po obiekcie JavaScriptowym... to iterowanie po jego kluczach. Jako, że klucze w tablicach to indeksy, to zmienna link zwraca kolejne indeksy: 0, 1, ... . Oczywiście, do długości tablicy.

Więcej o tablicach można poczytać tutaj.

PS. Chciałbym podziękować Marcinowi za pomoc przy tym problemie.

1 comment: