103 of 264 menu

Metoda map

Metoda map pozwala zastosować określoną funkcję dla każdego elementu tablicy. Przy tym metoda nie zmienia oryginalnej tablicy, a zwraca zmienioną.

Metoda w parametrze otrzymuje funkcję, która wykona się dla każdego elementu tablicy. To, co zwróci ta funkcja przez return dla elementu tablicy, stanie się nową wartością tego elementu (zob. przykłady).

Do funkcji można przekazywać 3 parametry. Jeśli te parametry istnieją (nie są obowiązkowe), to w pierwszy automatycznie trafi element tablicy, w drugi trafi jego numer w tablicy (indeks), a w trzeci - sama tablica.

Składnia

let nowaTablica = tablica.map(function(element, index, tablica) { kod return zmienionyElement; });

Przykład

Stwórzmy tablicę, w której każdy element jest dwukrotnie większy od odpowiadającego mu elementu tablicy początkowej:

let arr = [1, 2, 3, 4, 5]; let res = arr.map(function(elem) { return elem * 2; }); console.log(res);

Wynik wykonania kodu:

[2, 4, 6, 8, 10]

Przykład

Stwórzmy tablicę, w której każdy element otrzymuje się tak - wartość elementu jest mnożona przez jego numer porządkowy w tablicy:

let arr = [1, 2, 3, 4, 5]; let res = arr.map(function(elem, index) { return elem * index; }); console.log(res);

Wynik wykonania kodu:

[0, 2, 6, 12, 20]

Przykład

W razie potrzeby w trzeci parametr można przekazać samą tablicę:

let arr = [1, 2, 3, 4, 5]; let res = arr.map(function(elem, index, arr) { tutaj będzie dostępna tablica arr });

Przykład

Metodu map można używać również do przeglądania tablic wielowymiarowych. Niech, na przykład, będzie dana taka tablica:

let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

Przejdźmy tę tablicę przez map i wypiszmy jej elementy w konsoli:

let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; let result = arr.map(function(elem) { console.log(elem); });

W wyniku console.log wypisze [1, 2, 3], potem [4, 5, 6], potem [7, 8, 9].

Jak widać, do zmiennej elem trafiają podtablice. Teraz zastosujmy metodę map do każdej podtablicy i podnieśmy każdy jej element do kwadratu:

let arr = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; let result = arr.map(function(elem) { return elem.map(function(num) { return num * num; }); }); console.log(result);

Zobacz też

  • metoda forEach,
    która stosuje funkcję dla każdego elementu tablicy
  • metoda filter,
    która pozwala filtrować elementy tablicy
  • metody some i every,
    wykonujące sprawdzenie tablicy
  • metody reduce i reduceRight,
    zwijające tablicę do jednej wartości
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć