Przejdź do głównej zawartości

Rozsiane tablice (sparse arrays) to takie, które zawierają puste miejsca (slot'y).

Tablice rezerwują w pamięci miejsce na dane, ale żadnych danych w tych miejscach nie przechowują.

Nie są to wartości undefined czy null. To dosłownie puste miejsca.

Sprawdzenie własności length na takiej rozsianej tablicy zwróci całkowitą liczbę miejsc, które tablica rezerwuje w pamięci.

Wszystkie trzy tablice arr1, arr2, arr3, zwracają wartość length równą 5.

Wywołanie metody forEach() na tych tablicach nie iteruje jednak pustych miejsc.

Dla tablic arr1 i arr2 nie zostaną zwrócone żadne indeksy i z takich iteracji.

Tablica arr3 ma 3 elementy zajęte i 2 puste.

Zgłoszą się tylko zajęte elementy, logując do konsoli indeksy 0, 2, 4.

JavaScript zachowuje się tutaj niespójnie. Część metod pomija puste miejsca, np. forEach(), map(), sort(), ale część traktuje puste miejsca jako wartość undefined, np. entries(), fill(), find().

Przykładowo arr1.find((e, i) => console.log(i))\ zwróciłoby 0, 1, 2, 3, 4.