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"]