aboutsummaryrefslogtreecommitdiff
path: root/files/pl/web/javascript/reference/global_objects/array/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/pl/web/javascript/reference/global_objects/array/index.html')
-rw-r--r--files/pl/web/javascript/reference/global_objects/array/index.html279
1 files changed, 279 insertions, 0 deletions
diff --git a/files/pl/web/javascript/reference/global_objects/array/index.html b/files/pl/web/javascript/reference/global_objects/array/index.html
new file mode 100644
index 0000000000..5cfe52578b
--- /dev/null
+++ b/files/pl/web/javascript/reference/global_objects/array/index.html
@@ -0,0 +1,279 @@
+---
+title: Array
+slug: Web/JavaScript/Referencje/Obiekty/Array
+tags:
+ - Array
+ - JavaScript
+translation_of: Web/JavaScript/Reference/Global_Objects/Array
+---
+<div>{{JSRef("Global_Objects", "Array")}}</div>
+
+<p><code>Array</code>  w języku JavaScript jest globalnym obiektem, który jest używany podczas tworzenia tablic – listo-podobnych obieków wysokiego poziomu.</p>
+
+<div class="boxed translate-rendered">
+<p><strong>Stwórz tablicę</strong></p>
+
+<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">var</span> owoce <span class="operator token">=</span> <span class="punctuation token">[</span><span class="string token">'Jabłko'</span><span class="punctuation token">,</span> <span class="string token">'Banan'</span><span class="punctuation token">]</span><span class="punctuation token">;</span>
+
+console<span class="punctuation token">.</span><span class="function token">log</span><span class="punctuation token">(</span>owoce<span class="punctuation token">.</span>length<span class="punctuation token">)</span><span class="punctuation token">;</span>
+<span class="comment token">// 2</span></code></pre>
+</div>
+
+<p><strong>Dostawanie się do elementu tablicy</strong></p>
+
+<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">var</span> pierwszy <span class="operator token">=</span> owoce<span class="punctuation token">[</span><span class="number token">0</span><span class="punctuation token">]</span><span class="punctuation token">;</span>
+<span class="comment token">// Jablko</span>
+
+<span class="keyword token">var</span> ostatni <span class="operator token">=</span> owoce<span class="punctuation token">[</span>owoce<span class="punctuation token">.</span>length <span class="operator token">-</span> <span class="number token">1</span><span class="punctuation token">]</span><span class="punctuation token">;</span>
+<span class="comment token">// Banan</span></code></pre>
+
+<p><strong>Pętla przechodząca przez zawartość tablicy</strong></p>
+
+<pre class="brush: js line-numbers language-js"><code class="language-js">owoce<span class="punctuation token">.</span><span class="function token">forEach</span><span class="punctuation token">(</span><span class="keyword token">function</span><span class="punctuation token">(</span>item<span class="punctuation token">,</span> index<span class="punctuation token">,</span> array<span class="punctuation token">)</span> <span class="punctuation token">{</span>
+ console<span class="punctuation token">.</span><span class="function token">log</span><span class="punctuation token">(</span>item<span class="punctuation token">,</span> index<span class="punctuation token">)</span><span class="punctuation token">;</span>
+<span class="punctuation token">}</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
+<span class="comment token">// Jablko 0</span>
+<span class="comment token">// Banan 1</span></code></pre>
+
+<p><strong>Dodawanie elementu na końcu tablicy</strong></p>
+
+<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">var</span> nowaDługosc <span class="operator token">=</span> owoce<span class="punctuation token">.</span><span class="function token">push</span><span class="punctuation token">(</span><span class="string token">'Pomarańcz'</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
+<span class="comment token">// ["Jabłko", "Banan", "Pomarańcz"]</span></code></pre>
+
+<p><strong>Usuwanie elemetu z końca tablicy</strong></p>
+
+<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">var</span> ostatni <span class="operator token">=</span> owoce<span class="punctuation token">.</span><span class="function token">pop</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="comment token">// usuwa pomarańczę z końca</span>
+<span class="comment token">// ["Jabłko", "Banan"];</span></code></pre>
+
+<p><strong>Usuwanie elementu z przodu tablicy</strong></p>
+
+<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">var</span> pierwszy <span class="operator token">=</span> owoce<span class="punctuation token">.</span><span class="function token">shift</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="comment token">// usuwa jabłko z początku</span>
+<span class="comment token">// ["Banan"];</span></code></pre>
+
+<p><strong>Dodawanie elementu z przodu tablicy</strong></p>
+
+<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">var</span> nowaDługość <span class="operator token">=</span> owoce<span class="punctuation token">.</span><span class="function token">unshift</span><span class="punctuation token">(</span><span class="string token">'Truskawki'</span><span class="punctuation token">)</span> <span class="comment token">// dodaje na początku</span>
+<span class="comment token">// ["Truskawkę", "Banan"];</span></code></pre>
+
+<p><strong>Znajdowanie indeksu (numeru porządkowego) elementu t tablicy</strong></p>
+
+<pre class="brush: js line-numbers language-js"><code class="language-js">owoce<span class="punctuation token">.</span><span class="function token">push</span><span class="punctuation token">(</span><span class="string token">'Mango'</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
+<span class="comment token">// ["Truskawka", "Banan", "Mango"]</span>
+
+<span class="keyword token">var</span> pos <span class="operator token">=</span> owoce<span class="punctuation token">.</span><span class="function token">indexOf</span><span class="punctuation token">(</span><span class="string token">'Banan'</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
+<span class="comment token">// 1</span></code></pre>
+
+<p><strong>Usuwanie obiektu przy użyciu indeksu </strong></p>
+
+<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">var</span> usunElement <span class="operator token">=</span> owoce<span class="punctuation token">.</span><span class="function token">splice</span><span class="punctuation token">(</span>pos<span class="punctuation token">,</span> <span class="number token">1</span><span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="comment token">// tak się usuwa element</span>
+
+<span class="comment token">// ["Truskawka", "Mango"]</span></code></pre>
+
+<p><strong>Usuwanie elementów przy użyciu pozycji w indeksie</strong></p>
+
+<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">var</span> warzywa <span class="operator token">=</span> <span class="punctuation token">["</span><span class="string token">Kapusta"</span><span class="punctuation token">,</span> "<span class="string token">Rzepa</span><span class="punctuation token">",</span> "<span class="string token">Rzodkiew"</span><span class="punctuation token">,</span> "<span class="string token">Marchew"</span><span class="punctuation token">]</span><span class="punctuation token">;</span>
+console<span class="punctuation token">.</span><span class="function token">log</span><span class="punctuation token">(warzywa</span><span class="punctuation token">)</span><span class="punctuation token">;</span>
+<span class="comment token">// </span><span class="punctuation token">[</span><span class="string token">"Kapusta"</span><span class="punctuation token">,</span> "<span class="string token">Rzepa"</span><span class="punctuation token">,</span> "<span class="string token">Rzodkiew"</span><span class="punctuation token">,</span> "<span class="string token">Marchew"</span><span class="punctuation token">]</span>
+
+<span class="keyword token">var</span> pos <span class="operator token">=</span> <span class="number token">1</span><span class="punctuation token">,</span> n <span class="operator token">=</span> <span class="number token">2</span><span class="punctuation token">;</span>
+
+<span class="keyword token">var</span> usunieteElementy <span class="operator token">=</span> warzywa<span class="punctuation token">.</span><span class="function token">splice</span><span class="punctuation token">(</span>pos<span class="punctuation token">,</span> n<span class="punctuation token">)</span><span class="punctuation token">;</span>
+<span class="comment token">// n oznacza liczbę elementów do usunięcia</span>
+<span class="comment token">// zaczynając od elementu na określonej pozycji(pos)</span>
+
+console<span class="punctuation token">.</span><span class="function token">log</span><span class="punctuation token">(</span>warzywa<span class="punctuation token">)</span><span class="punctuation token">;</span>
+<span class="comment token">// ["Kapusta", "Marchew"] (początkowa tablica została zmieniona)</span>
+
+console<span class="punctuation token">.</span><span class="function token">log</span><span class="punctuation token">(</span>usunieteElementy<span class="punctuation token">)</span><span class="punctuation token">;</span>
+<span class="comment token">// ["Rzepa", "Rzodkiew"]</span></code>
+</pre>
+
+<p><strong>Kopiowanie tablicy</strong></p>
+
+<pre class="brush: js line-numbers language-js"><code class="language-js"><span class="keyword token">var</span> płytkaKopia <span class="operator token">=</span> owoce<span class="punctuation token">.</span><span class="function token">slice</span><span class="punctuation token">(</span><span class="punctuation token">)</span><span class="punctuation token">;</span> <span class="comment token">// tak się tworzy kopię</span>
+<span class="comment token">// ["Truskawka", "Mango"]</span></code>
+</pre>
+
+<h2 id="Tworzony_przez" name="Tworzony_przez">Składnia:</h2>
+
+<pre class="syntaxbox"><code>[<var>element0</var>, <var>element1</var>, ..., <var>elementN</var>]
+new Array(<var>element0</var>, <var>element1</var>[, ...[, <var>elementN</var>]])
+new Array(długoscTablicy)</code></pre>
+
+<dl>
+ <dt><code>elementN </code></dt>
+ <dd>Lista wartości elementów tablicy. Tablica jest inicjowana z określonymi wartościami jako jej elementami. Długość tablicy (<code>length</code>) odpowiada liczbie jej elementów.</dd>
+ <dt><code>długośćTablicy</code></dt>
+ <dd>Początkowa długość tablicy. Aby móc przetwarzać wartości używamy własności długości tablicy <code>length</code>. Jeśli określona wartość nie jest liczbą, zostanie utworzona tablica jednoelementowa, a jej pierwszy element będzie posiadał ową wartość. Maksymalna długość tablicy wynosi 4,294,967,295 elementów.</dd>
+</dl>
+
+<h2 id="Opis" name="Opis">Opis</h2>
+
+<p>Tablica jest uporządkowanym zbiorem wartości przyporządkowanych ustalonej pojedynczej zmiennej.</p>
+
+<p>Poniższy przykład tworzy obiekt <code>Array</code> przy użyciu literału tablicy. Tablica <code>kawa</code> zawiera trzy elementy i ma długość (<code>length</code>) równą 3:</p>
+
+<pre class="brush: js">kawa = ["mocca", "cappucino", "zbożowa"]
+</pre>
+
+<p>Można utworzyć tzw. zwartą tablicę składającą się z dwóch lub więcej elementów, o początkowym indeksie 0, jeśli poda się początkowe wartości wszystkich elementów. Zwarta tablica to taka, w której każdy element posiada wartość. Poniższy kod tworzy zwartą tablicę o trzech elementach:</p>
+
+<pre class="brush: js">myArray = new Array("Hello", myVar, 3.14159)
+</pre>
+
+<h3 id="Dost.C4.99p_do_element.C3.B3w_tablicy" name="Dost.C4.99p_do_element.C3.B3w_tablicy">Dostęp do elementów tablicy</h3>
+
+<p>Do elementów tablicy odwołujemy się po ich liczbie porządkowej (zaczynając od zera). Przykładowo, jeśli mamy zdefiniowaną tablicę:</p>
+
+<pre class="brush: js">mojaTablica = new Array("Wiatr","Deszcz","Ogień")
+</pre>
+
+<p>Do pierwszego elementu odwołujemy się poprzez <code>mojaTablica[0]</code>, a do drugiego poprzez <code>mojaTablica[1]</code>.</p>
+
+<h3 id="Podawanie_pojedynczego_parametru" name="Podawanie_pojedynczego_parametru">Podawanie pojedynczego parametru</h3>
+
+<p>Jeśli konstruktor <code>Array</code> zostanie wywołany z pojedynczym parametrem liczbowym, parametr ten zostanie uznany za początkową długość tablicy. Poniższy kod tworzy tablicę pięciu elementów:</p>
+
+<pre class="brush: js">rodzajPlatnosci = new Array(5)
+</pre>
+
+<p>Zachowanie konstruktora <code>Array</code> zależy od tego, czy jedyny parametr jest liczbą.</p>
+
+<ul>
+ <li>Jeśli jedyny parametr jest liczbą, konstruktor konwertuje tę liczbą do 32-bitowej liczby całkowitej bez znaku i tworzy tablicę o długości (liczbie elementów, <code>length</code>) równej tej liczbie. Tablica początkowo nie zawiera żadnych elementów, mimo że ma niezerową długość.</li>
+ <li>Jeśli parametr ten nie jest liczbą, tworzona jest tablica o długości 1, a parametr ten staje się jej pierwszym elementem.</li>
+</ul>
+
+<p>Poniższy kod tworzy tablicę o długości 25, a następnie przypisuje wartości pierwszym trzem elementom:</p>
+
+<pre class="brush: js">rodzajeMuzyki = new Array(25)
+rodzajeMuzyki[0] = "R&amp;B"
+rodzajeMuzyki[1] = "Blues"
+rodzajeMuzyki[2] = "Jazz"
+</pre>
+
+<h3 id="Po.C5.9Brednie_zwi.C4.99kszanie_d.C5.82ugo.C5.9Bci_tablicy" name="Po.C5.9Brednie_zwi.C4.99kszanie_d.C5.82ugo.C5.9Bci_tablicy">Pośrednie zwiększanie długości tablicy</h3>
+
+<p>Długość tablicy wzrasta samoczynnie, jeśli elementowi o indeksie wyższym niż obecna długość zostanie przypisana wartość. Poniższy kod tworzy tablicę o zerowej długości, a następnie przypisuje do niej 99. element. W wyniku długość tablicy zostaje zmieniona na 100.</p>
+
+<pre class="brush: js">kolory = new Array();
+kolory[99] = "ciemnoniebieski";
+</pre>
+
+<h3 id="Tworzenie_tablicy_z_wynik.C3.B3w_wyra.C5.BCenia_regularnego" name="Tworzenie_tablicy_z_wynik.C3.B3w_wyra.C5.BCenia_regularnego">Tworzenie tablicy z wyników wyrażenia regularnego</h3>
+
+<p>Wynik porównania pomiędzy regularnym wyrażeniem a łańcuchem znaków może utworzyć tablicę. Ta tablica ma własności i elementy, które przekazują informacje dotyczące porównania. Tablica jest wartością zwracaną przez <code>RegExp.exec</code>, <code>String.match</code> i <code>String.replace</code>. Aby zrozumieć te własności spójrz na poniższy przykład odwołując się do poniższej tabeli:</p>
+
+<pre class="brush: js">//Porównuje łańcuch znaków złożony z jednego 'd' następnie kilku 'b' a następnie jednego 'd'
+//Zapamiętuje porównane 'b' i następujące 'd'
+//Ignoruje wielkość liter
+
+mojRe=/d(b+)(d)/i;
+mojaTablica = mojRe.exec("cdbBdbsbz");
+</pre>
+
+<p>Własności i elementy zwracają wartości z poniższej tabeli:</p>
+
+<table class="fullwidth-table">
+ <tbody>
+ <tr>
+ <td class="header">Własność/Element</td>
+ <td class="header">Opis</td>
+ <td class="header">Przykład</td>
+ </tr>
+ <tr>
+ <td><code>input</code></td>
+ <td>Wartość tylko-do-odczytu, opisująca oryginalny łańcuch znaków, do którego porównano wyrażenie regularne.</td>
+ <td>cdbBdbsbz</td>
+ </tr>
+ <tr>
+ <td><code>index</code></td>
+ <td>Własność tylko-do-odczytu, będąca indeksem (zaczynając od 0) porównanego znaku w łańcuchu znaków.</td>
+ <td>1</td>
+ </tr>
+ <tr>
+ <td><code>[0]</code></td>
+ <td>Element tylko-do-odczytu, zawierający ostatnio porównane znaki.</td>
+ <td>dbBd</td>
+ </tr>
+ <tr>
+ <td><code>[1], ... [n]</code></td>
+ <td>Elementy tylko-do-odczytu, zawierające podobne podłańcuchy znaków, zawarte w wyrażeniu regularnym. Liczba możliwych podłańcuchów jest nieskończona.</td>
+ <td>[1]: bB<br>
+ [2]: d</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Własności">Własności</h2>
+
+<dl>
+ <dd>
+ <dl>
+ <dt>{{jsxref("Array.length")}}</dt>
+ <dd>Odzwierciedla ilość elementów tablicy.</dd>
+ <dt>{{jsxref("Array.prototype")}}</dt>
+ <dd>Pozwala na dodawanie własności do wszystkich obiektów.</dd>
+ </dl>
+ </dd>
+</dl>
+
+<h2 id="Metody" name="Metody">Metody</h2>
+
+<dl>
+ <dt>{{jsxref("Array.from()")}} {{experimental_inline}}</dt>
+ <dd>Tworzy nową instancję <code>Array</code> z obiektu podobnego do tablicy lub iterowalnego.</dd>
+ <dt>{{jsxref("Array.isArray()")}}</dt>
+ <dd>Zwraca true, jeśli zmienna jest tablicą, jeśli nie false.</dd>
+ <dt>{{jsxref("Array.observe()")}} {{experimental_inline}}</dt>
+ <dd>Asynchronicznie obserwuje zmiany w tablicach, podobnie jak {{jsxref ("Object.observe ()")}} dla obiektów. Zapewnia strumień zmian w kolejności występowania.</dd>
+ <dt>{{jsxref("Array.of()")}} {{experimental_inline}}</dt>
+ <dd>Tworzy nową instancję Array ze zmienną liczbą argumentów, niezależnie od liczby lub rodzaju argumentów.</dd>
+</dl>
+
+<h2 id="Przykłady">Przykłady</h2>
+
+<h3 id="Przyk.C5.82ad_Tworzenie_tablicy" name="Przyk.C5.82ad:_Tworzenie_tablicy">Przykład: Tworzenie tablicy</h3>
+
+<p>Poniższy kod tworzy tablicę <code>msgArray</code> o długości 0, a następnie przypisuje wartości do <code>msgArray[0]</code> i <code>msgArray[99]</code>, zwiększając długość tablicy do 100.</p>
+
+<pre class="brush: js">msgArray = new Array()
+msgArray[0] = "Witaj,"
+msgArray[99] = "świecie"
+// Poniższy warunek jest spełniony,
+// ponieważ zdefiniowano element msgArray[99].
+if (msgArray.length == 100)
+ myVar="Długość tablicy jest równa 100."
+</pre>
+
+<h3 id="Przyk.C5.82ad_Tworzenie_tablicy_dwuwymiarowej" name="Przyk.C5.82ad:_Tworzenie_tablicy_dwuwymiarowej">Przykład: Tworzenie tablicy dwuwymiarowej</h3>
+
+<p>Poniższy kod tworzy tablicę dwuwymiarową i przypisuje wyniki do zmiennej <code>myVar</code>.</p>
+
+<pre class="brush: js">myVar="Test tablicy wielowymiarowej; "
+a = new Array(4)
+for (i=0; i &lt; 4; i++) {
+ a[i] = new Array(4)
+ for (j=0; j &lt; 4; j++) {
+ a[i][j] = "["+i+","+j+"]"
+ }
+}
+for (i=0; i &lt; 4; i++) {
+ str = "Wiersz "+i+":"
+ for (j=0; j &lt; 4; j++) {
+ str += a[i][j]
+ }
+ myVar += str +"; "
+}
+</pre>
+
+<p>Poniższy łańcuch znaków będzie przypisany do zmiennej <code>myVar</code> (linie zostały przełamane dla zwiększenia czytelności):</p>
+
+<pre>Test tablicy wielowymiarowej;
+Wiersz 0:[0,0][0,1][0,2][0,3];
+Wiersz 1:[1,0][1,1][1,2][1,3];
+Wiersz 2:[2,0][2,1][2,2][2,3];
+Wiersz 3:[3,0][3,1][3,2][3,3];
+</pre>
+
+<div class="noinclude"></div>