--- title: Array.prototype.slice() slug: Web/JavaScript/Referencje/Obiekty/Array/slice tags: - Dokumentacja_JavaScript - Dokumentacje - JavaScript - Strony_wymagające_dopracowania - Wszystkie_kategorie translation_of: Web/JavaScript/Reference/Global_Objects/Array/slice ---

{{ JSRef }}

{{EmbedInteractiveExample("pages/js/array-slice.html")}}

Podsumowanie

Wydobywa fragment tablicy i zwraca go jako nową tablicę.

Składnia

arr.slice([begin[, end]])

Parametry

begin
Indeks (liczony od zera) od którego zaczyna się wydobywanie.
Jeżeli indeks jest ujemny, begin wskazuje przesunięcie w kolejności od końca. slice(-2) wydobywa kolejno drugi od końca i ostatni element tablicy.
end
Indeks (liczony od zera) przed którym kończy się wydobywanie. slice wydobywa elementy jednakże nie zawiera end.
slice(1,4) wydobywa elementy od drugiego do czwartego (o indeksach 1, 2 i 3).
Jeżeli parametr ten ma wartość ujemną to end określa odległość od końca tablicy. slice(2,-1) wydobywa kolejne elementy od trzeciego do przedostatniego.
Jeżeli end jest pominięty, slice wydobywa wszystkie elementy do końca tablicy.

Opis

slice nie zmienia zawartości oryginalnej tablicy, tylko zwraca nową kopię "o jednym poziomie głębokości" zawierającą elementy wyciągnięte z oryginalnej tablicy. Elementy oryginalnej tablicy są kopiowane do nowej tablicy następująco:

Jeżeli nowy element jest dodany do jednej z tablic, to nie wpływa to w żaden sposób na drugą.

Przykłady

Przykład: Zastosowanie slice

W następującym przykładzie slice tworzy nową tablicę newCar z myCar. Obydwie zawierają odniesienie do obiektu myHonda. Kiedy kolor myHonda jest zmieniany na purpurowy, to obie tablice odzwierciedlają zmianę.

//Użycie slice, tworzenie newCar z myCar.
var myHonda = { color: "red", wheels: 4, engine: { cylinders: 4, size: 2.2 } };
var myCar = [myHonda, 2, "cherry condition", "purchased 1997"];
var newCar = myCar.slice(0, 2);

//Wpisz wartości myCar, newCar i color myHonda
//  referenced from both arrays.
console.log("myCar = " + myCar.toSource());
console.log("newCar = " + newCar.toSource());
console.log("myCar[0].color = " + myCar[0].color);
console.log("newCar[0].color = " + newCar[0].color);

//zmienia kolor myHonda.
myHonda.color = "purple";
console.log("Nowy kolor mojej Honda to " + myHonda.color);

//Wpisz color myHonda odnoszący się do oby tablic
console.log("myCar[0].color = " + myCar[0].color);
console.log("newCar[0].color = " + newCar[0].color);

Ten skrypt wypisze:

myCar = [{color:"red", wheels:4, engine:{cylinders:4, size:2.2}}, 2, "cherry condition", "purchased 1997"]
newCar = [{color:"red", wheels:4, engine:{cylinders:4, size:2.2}}, 2]
myCar[0].color = red
newCar[0].color = red
Nowym kolorem mojej Honda jest purpurowy
myCar[0].color = purple
newCar[0].color = purple