Tablice. splice() i dodawanie elementów | Dodawanie zadań w określonym miejscu na liście


Korzystając z metody splice() możemy też dodawać dowolną ilość elementów po określonym indeksie. Żeby to zrobić, musimy przekazać splice() co najmniej 3 argumenty (w ściśle określonej kolejności!).

Pierwszy i drugi argument pełni taką samą rolę, jak w poprzednim przykładzie, w którym usuwaliśmy elementy:

  1. indeks, od którego będziemy dodawać elementy,
  2. drugim argumentem będzie 0, ponieważ zamiast usuwać elementy (wskazując liczbę elementów do usunięcia), będziemy je dodawać, czyli usuwamy 0 elementów 🙈,
  3. od tego miejsca możemy kolejno zawrzeć elementy do dodania, np. 3 zadania ujęte w cudzysłów i oddzielone przecinkami (możemy też przekazać zmienną, do której wcześniej przypisaliśmy elementy do dodania, ale w tym przypadku jest mały haczyk, więc na razie nie omawiamy tej kwestii).

Zobacz, jak to wygląda w kodzie poniżej (i przetestuj w konsoli):

let tasks = ["zrobić kawę", "sprawdzić maila", "zajrzeć na stronę kodujemywbiurze.pl"];

console.log(tasks); // 3 zadania

// dodaj 1 zadanie po "zrobić kawę" => przypisz zadanie do indeksu 1:
tasks.splice(1, 0, "podlać kwiatki na biurku");

console.log(tasks); // 4 zadania

// dodaj 3 nowe zadania po "sprawdzić maila" (czyli zaczynając od indeksu 3):

tasks.splice(3, 0, "zarejestrować dokumenty", "zamówić buty na Zalando", "ogarnąć w końcu, jak się liczy te indeksy w tablicach...");

console.log(tasks); // 7 zadań

Taki zabieg jest z kolei bardzo przydatny, jeśli chcemy dodać element/y nie na końcu tablicy, jak to robiliśmy metodą push(), tylko w jakimś określonym miejscu w środku, np. chcemy, by jakieś ważniejsze zadanie znalazło się przed tymi mniej ważnymi.