Wycinanie części elementów tablicy - slice
W jaki sposób wyciąć część elementów tablicy?
Array.prototype.slice() Array.prototype.slice(start) Array.prototype.slice(start, end)
- Parametry:
Number
start - indeks elementu początkowego (domyślnie: 0)Number
end - indeks elementu po końcowym (domyślnie: długość tablicy)- Wartość:
Array
- wycięte elementy
Tworzy nową tablicę, będącą wycinkiem, składający się z kolejnych elementów poczynając od początkowego (na który wskazuje indeks start) aż do końcowego (przed indeksem end).
- Jeżeli do funkcji nie zostaną przekazane żadne argumenty, będzie zwrócona kopia całej tablicy.
- Jeżeli argument end nie zostanie podany, wycinek będzie zawierał wszystkie elementy od start do końca tablicy.
- Jeżeli wartość argumentu będzie mniejsza od zera, odliczanie indeksu rozpocznie się od końca tablicy.
Array.prototype.slice
nie zmienia oryginalnej tablicy, tak jak to robi funkcja Array.prototype.splice.
Przykład Array.prototype.slice
var items = [1, 2, 3, 4]; items.slice(); // [1, 2, 3, 4] items.slice(1); // [2, 3, 4] items.slice(-2); // [3, 4] == items.slice(2); items.slice(1, 3); // [2, 3] items.slice(1, -1); // [2, 3] == items.slice(1, 3); items.slice(-3, -1); // [2, 3] items.slice(0, 0); // [] items.slice(1, 1); // [] items.slice(3, 1); // [] items.slice(-1, -2); // [] == items.slice(3, 2); items; // [1, 2, 3, 4]