diff options
author | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
---|---|---|
committer | Peter Bengtsson <mail@peterbe.com> | 2020-12-08 14:42:52 -0500 |
commit | 074785cea106179cb3305637055ab0a009ca74f2 (patch) | |
tree | e6ae371cccd642aa2b67f39752a2cdf1fd4eb040 /files/pl/web/javascript/referencje/obiekty/array/slice | |
parent | da78a9e329e272dedb2400b79a3bdeebff387d47 (diff) | |
download | translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.gz translated-content-074785cea106179cb3305637055ab0a009ca74f2.tar.bz2 translated-content-074785cea106179cb3305637055ab0a009ca74f2.zip |
initial commit
Diffstat (limited to 'files/pl/web/javascript/referencje/obiekty/array/slice')
-rw-r--r-- | files/pl/web/javascript/referencje/obiekty/array/slice/index.html | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/files/pl/web/javascript/referencje/obiekty/array/slice/index.html b/files/pl/web/javascript/referencje/obiekty/array/slice/index.html new file mode 100644 index 0000000000..ced8efba96 --- /dev/null +++ b/files/pl/web/javascript/referencje/obiekty/array/slice/index.html @@ -0,0 +1,99 @@ +--- +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 +--- +<p>{{ JSRef }}</p> + +<p>{{EmbedInteractiveExample("pages/js/array-slice.html")}}</p> + +<h2 id="Podsumowanie" name="Podsumowanie">Podsumowanie</h2> + +<p>Wydobywa fragment tablicy i zwraca go jako nową tablicę.</p> + +<h2 id="Sk.C5.82adnia" name="Sk.C5.82adnia">Składnia</h2> + +<pre class="syntaxbox"><code><var>arr</var>.slice([<var>begin</var>[, <var>end</var>]])</code></pre> + +<h3 id="Parametry" name="Parametry">Parametry</h3> + +<dl> + <dt><code>begin</code></dt> + <dd>Indeks (liczony od zera) od którego zaczyna się wydobywanie.</dd> + <dd>Jeżeli indeks jest ujemny, <code>begin</code> wskazuje przesunięcie w kolejności od końca. <code>slice(-2)</code> wydobywa kolejno drugi od końca i ostatni element tablicy.</dd> +</dl> + +<dl> + <dt><code>end</code></dt> + <dd>Indeks (liczony od zera) przed którym kończy się wydobywanie. <code>slice</code> wydobywa elementy jednakże nie zawiera <code>end</code>.</dd> +</dl> + +<dl> + <dd><code>slice(1,4)</code> wydobywa elementy od drugiego do czwartego (o indeksach 1, 2 i 3).</dd> +</dl> + +<dl> + <dd>Jeżeli parametr ten ma wartość ujemną to <code>end</code> określa odległość od końca tablicy. <code>slice(2,-1)</code> wydobywa kolejne elementy od trzeciego do przedostatniego.</dd> +</dl> + +<dl> + <dd>Jeżeli <code>end</code> jest pominięty, <code>slice</code> wydobywa wszystkie elementy do końca tablicy.</dd> +</dl> + +<h2 id="Opis" name="Opis">Opis</h2> + +<p><code>slice</code> 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:</p> + +<ul> + <li>W przypadku referencji do obiektów (nie obiektów właściwych), <code>slice</code> kopiuje referencje do nowej tablicy. Obydwie - oryginalna i nowa tablica - odnoszą się do tego samego obiektu. Jeżeli zmienimy obiekt odniesienia, zmiany są widoczne dla obydwu tablic, nowej i oryginalnej.</li> +</ul> + +<ul> + <li>Dla łańcuchów znaków i liczb (nie będących obiektami {{jsxref("String")}} i {{jsxref("Number")}}, <code>slice</code> kopiuje łańcuchy znaków i liczby do nowej tablicy. Zmiana łańcucha znaków lub liczby w jednej z tablic nie wpływa na wartość w drugiej.</li> +</ul> + +<p>Jeżeli nowy element jest dodany do jednej z tablic, to nie wpływa to w żaden sposób na drugą.</p> + +<h2 id="Przyk.C5.82ady" name="Przyk.C5.82ady">Przykłady</h2> + +<h3 id="Przyk.C5.82ad:_Zastosowanie_slice" name="Przyk.C5.82ad:_Zastosowanie_slice">Przykład: Zastosowanie <code>slice</code></h3> + +<p>W następującym przykładzie <code>slice</code> tworzy nową tablicę <code>newCar</code> z <code>myCar</code>. Obydwie zawierają odniesienie do obiektu <code>myHonda</code>. Kiedy kolor <code>myHonda</code> jest zmieniany na purpurowy, to obie tablice odzwierciedlają zmianę.</p> + +<pre class="brush: js">//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); +</pre> + +<p>Ten skrypt wypisze:</p> + +<pre class="brush: js">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 +</pre> |