--- title: Array.prototype.map() slug: Web/JavaScript/Reference/Global_Objects/Array/map tags: - Dokumentacja_JavaScript - Dokumentacje - JavaScript - Wszystkie_kategorie translation_of: Web/JavaScript/Reference/Global_Objects/Array/map original_slug: Web/JavaScript/Referencje/Obiekty/Array/map ---
Metoda map()
tworzy nową tablicę zawierającą wyniki wywoływania podanej funkcji dla każdego elementu wywołującej tablicy.
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]
var new_array = arr.map(function callback(currentValue, index, array){ // Zwróć element nowej tablicy }[, thisArg])
callback
currentValue
index
array
map
thisArg
this
podczas wywołania callback
Nowa tablica zawierająca elementy będące wynikami wywoływani funkcji callback
.
map
wykonuje funkcję (callback
) raz na każdym z elementów tablicy w kolejności i tworzy nową tablicę na podstawie wyników. callback
wywoływany jest tylko dla indeksów tablicy które mają przypisane wartości, włącznie z undefined. 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).
callback
wywoływana jest z trzema argumentami: wartością elementu, jego indeksem i tablicą która jest trawersowana.
W przypadku podania argumentu thisObject
, zostanie on przekazany jako this
przy każdym wywołaniu callback
. Gdy go brak, lub ma wartość null
, użyty zostanie obiekt globalny przyporządkowany do callback
.
map
nie modyfikuje tablicy, na której jest wywołany.
Zakres elementów przetwarzanych przez map
ustalany jest przed pierwszym wywołaniem callback
. Elementy dodane do tablicy po wywołaniu map
nie zostaną odwiedzone przez callback
. Jeśli istniejący, element tablicy zostanie zmieniony lub usunięty, wartością przekazaną do callback
będzie wartość z momentu w którym map
odwiedza dany element; elementy usunięte przed sprawdzeniem będą przekazane jako undefined
.
Poniższy kod tworzy nową tablicę zawierającą pisaną wielkimi literami wersję wszystkich oryginalnych łańcuchów.
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
Poniższy kod pobiera tablicę liczb i tworzy nową tablicę z pierwiastkami kwadratowymi liczb z pierwszej tablicy.
var liczby = [1, 4, 9]; var pierwiastki = liczby.map(Math.sqrt); // otrzymane pierwiastki [1, 2, 3] // pozostające nadal liczby [1, 4, 9]