aboutsummaryrefslogtreecommitdiff
path: root/files/pl/web/javascript/reference/global_objects/array/map/index.html
blob: 2b25e7f1cd71b8a3341978c52309ce3400eb9bd0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
---
title: Array.prototype.map()
slug: Web/JavaScript/Referencje/Obiekty/Array/map
tags:
  - Dokumentacja_JavaScript
  - Dokumentacje
  - JavaScript
  - Wszystkie_kategorie
translation_of: Web/JavaScript/Reference/Global_Objects/Array/map
---
<div>{{JSRef}}</div>

<p>Metoda <code><strong>map()</strong></code> tworzy nową tablicę zawierającą wyniki wywoływania podanej funkcji dla każdego elementu wywołującej tablicy.</p>

<pre class="brush: js">var liczby = [1, 5, 10, 15];
var podwojenia = liczby.map(function(x) {
    return x * 2;
});
// podwojenia to teraz [2, 10, 20, 30]
// liczby to dalej [1, 5, 10, 15]

var liczby = [1, 4, 9];
var pierwiastki = liczby.map(Math.sqrt);
// pierwiastki to teraz [1, 2, 3]
// liczby to dalej [1, 4, 9]
</pre>

<h2 id="Składnia">Składnia</h2>

<pre class="syntaxbox"><code><var>var new_array = arr</var>.map(<var>function callback(currentValue, index, array){ // Zwróć element nowej tablicy }</var>[, <var>thisArg</var>])</code></pre>

<h3 id="Parametry">Parametry</h3>

<dl>
 <dt><code><strong>callback</strong></code></dt>
 <dd>Funkcja tworząca element nowej tablicy, przyjmująca trzy argumenty:</dd>
 <dd>
 <dl>
  <dt><code><strong>currentValue</strong></code></dt>
  <dd>Element tablicy nad którym obecnie pracujemy</dd>
  <dt><code><strong>index</strong></code></dt>
  <dd>Indeks elementu tablicy nad którym obecnie pracujemy</dd>
  <dt><code><strong>array</strong></code></dt>
  <dd>Oryginalna tablica na rzecz której wywołano metodę <code>map</code></dd>
 </dl>
 </dd>
 <dt><code><strong>thisArg</strong></code></dt>
 <dd>Opcjonalny. Wartość jaką użyć jako <code>this</code> podczas wywołania <code>callback</code></dd>
</dl>

<h3 id="Zwracana_wartość">Zwracana wartość</h3>

<p>Nowa tablica zawierająca elementy będące wynikami wywoływani funkcji <code>callback</code>.</p>

<h2 id="Opis">Opis</h2>

<p><code>map</code> wykonuje funkcję (<code>callback</code>) raz na każdym z elementów tablicy w kolejności i tworzy nową tablicę na podstawie wyników. <code>callback</code> wywoływany jest tylko dla indeksów tablicy które mają przypisane wartości, włącznie z <a href="/pl/docs/Web/JavaScript/Referencje/Obiekty/undefined">undefined</a>. Nie jest wywoływany dla brakujących elementów tablicy (indeksów które nigdy nie były ustawione, usunięte lub nie miały nigdy przypisanych wartości).</p>

<p><code>callback</code> wywoływana jest z trzema argumentami: wartością elementu, jego indeksem i tablicą która jest trawersowana.</p>

<p>W przypadku podania argumentu <code>thisObject</code>, zostanie on przekazany jako <code>this</code> przy każdym wywołaniu <code>callback</code>. Gdy go brak, lub ma wartość <code>null</code>, użyty zostanie obiekt globalny przyporządkowany do <code>callback</code>.</p>

<p><code>map</code> nie modyfikuje tablicy, na której jest wywołany.</p>

<p>Zakres elementów przetwarzanych przez <code>map</code> ustalany jest przed pierwszym wywołaniem <code>callback</code>. Elementy dodane do tablicy po wywołaniu <code>map</code> nie zostaną odwiedzone przez <code>callback</code>. Jeśli istniejący, element tablicy zostanie zmieniony lub usunięty, wartością przekazaną do <code>callback</code> będzie wartość z momentu w którym <code>map</code> odwiedza dany element; elementy usunięte przed sprawdzeniem będą przekazane jako <code>undefined</code>.</p>

<h2 id="Przyk.C5.82ady" name="Przyk.C5.82ady">Przykłady</h2>

<h3 id="Przyk.C5.82ad:_Wielkie_litery_.C5.82a.C5.84cuch.C3.B3w_w_tablicy" name="Przyk.C5.82ad:_Wielkie_litery_.C5.82a.C5.84cuch.C3.B3w_w_tablicy">Wielkie litery łańcuchów w tablicy</h3>

<p>Poniższy kod tworzy nową tablicę zawierającą pisaną wielkimi literami wersję wszystkich oryginalnych łańcuchów.</p>

<pre class="brush: js">var strings = ["hello", "Array", "WORLD"];
function makeUpperCase(v)
{
    return v.toUpperCase();
}
var uppers = strings.map(makeUpperCase);
// uppers są teraz pisane wielkimi literami ["HELLO", "ARRAY", "WORLD"]
// strings są niezmienione
</pre>

<h3 id="Przyk.C5.82ad:_Mapowanie_tablicy_liczb_do_tablicy_pierwiastk.C3.B3w_kwadratowych" name="Przyk.C5.82ad:_Mapowanie_tablicy_liczb_do_tablicy_pierwiastk.C3.B3w_kwadratowych">Mapowanie tablicy liczb do tablicy pierwiastków kwadratowych</h3>

<p>Poniższy kod pobiera tablicę liczb i tworzy nową tablicę z pierwiastkami kwadratowymi liczb z pierwszej tablicy.</p>

<pre class="brush: js">var liczby = [1, 4, 9];
var pierwiastki = liczby.map(Math.sqrt);
// otrzymane pierwiastki [1, 2, 3]
// pozostające nadal liczby [1, 4, 9]
</pre>

<p> </p>