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:
- indeks, od którego będziemy dodawać elementy,
- 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 🙈,
- 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.