8. Co robią i czym róznią się funkcje slice i splice?

slice może zostać wywołany na tablicy i przyjmuje dwa argumenty - startIndex i endIndex. Zwraca kopię oryginalnej listy zawierającej elementy poczynając od startIndex (włącznie) kończąc na endIndex (bez elementu na endIndex).

Jeśli endIndex nie zostanie podany, zwrócona lista będzie zawierać elementy do końca oryginalnej listy.

Negatywne wartości indeksów sprawią, że elementy będą liczone od końca.

slice nie modyfikuje oryginalnej listy - zwraca jej kopię!
const list = ["a", "b", "c"]; console.info(list.slice(0, 2)); // ["a", "b"] console.info(list.slice(1)); // ["b", "c"] console.info(list.slice(4)); // [] console.info(list.slice(0, -1)); // ["a", "b"] console.info(list.slice(-2)); // ["b", "c"] console.info(list); // ["a", "b", "c"]

splice może zostać wywołany na tablicy i przyjmuje kilka argumentów - startIndex, deleteCount i ...additionalElements.

Z oryginalnej listy zostanie usuniętych deleteCount elementów począwszy od startIndex.

Jeśli deleteCount nie zostanie podany, zostaną usunięte elementy od startIndex do końca.

Kazdy kolejny argument oznacza wartość, która zostanie dodana do oryginalnej tablicy w miejsce usuniętych elementów.

Negatywna wartość startIndex sprawi, że elementy będą liczone od końca.

splice modyfikuje oryginalną listę!
const list1 = ["a", "b", "c"]; const list2 = ["a", "b", "c"]; const list3 = ["a", "b", "c"]; console.info(list1.splice(0, 2)); // ["a", "b"] console.info(list1); // ["c"] console.info(list2.splice(1, 1, "d")); // ["b"] console.info(list2); // ["a", "d", "c"] console.info(list3.splice(-3, 1, "d")); // ["b"] console.info(list3); // ["d", "b", "c"]
devFlipCards 2024

Akceptujesz cookies?

Cookies to niewielkie fragmenty danych zapisywane lokalnie na twoim urządzeniu. Pomagają w funkcjonowaniu naszej strony - zapisują Twoje ustawienia strony takie jak motyw czy język. Poprawiają funkcjonowanie reklam i pozwalają nam na przeprowadzanie analityki odwiedzin strony. Korzystając ze strony zgadasz się na ich wykorzystanie.