Tablica asocjacyjna w JavaScript

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Tablica asocjacyjna to struktura, w której wartości są dostępne przez nazwane klucze, a nie tylko przez indeksy liczbowe. W pytaniach egzaminacyjnych zapis:

Tablica['technik'] = 'informatyk';

oznacza przypisanie wartości 'informatyk' do klucza 'technik'. Dlatego odpowiedź egzaminacyjna to tablica asocjacyjna.

Ważna uwaga w JavaScript

W JavaScript klasyczne tablice Array są przede wszystkim przeznaczone do indeksów liczbowych:

let tablica = [];
tablica[0] = 'informatyk';

Natomiast zapis z kluczem tekstowym:

tablica['technik'] = 'informatyk';

technicznie dodaje do tablicy właściwość obiektu, ponieważ tablice w JavaScript są obiektami. Taki element nie zwiększa właściwości length:

let tablica = [];
tablica['technik'] = 'informatyk';
console.log(tablica.length); // 0

Lepszy sposób: obiekt

Do przechowywania par klucz-wartość zwykle stosuje się obiekt:

let zawod = {};
zawod['technik'] = 'informatyk';
console.log(zawod['technik']); // informatyk

Można też użyć notacji kropkowej, jeśli nazwa klucza jest poprawnym identyfikatorem:

zawod.technik = 'informatyk';

Do zapamiętania

  • indeks liczbowy, np. tablica[0], oznacza zwykłą tablicę numeryczną,
  • klucz tekstowy, np. tablica['technik'], wskazuje na użycie asocjacyjne,
  • w JavaScript do danych asocjacyjnych najlepiej używać obiektów lub Map,
  • w kontekście egzaminu taki zapis należy rozpoznać jako tablicę asocjacyjną.