103 of 264 menu

Metoda map

Metoda map umožňuje aplikovat zadanou funkci na každý prvek pole. Přitom metoda nemění původní pole, ale vrací upravené.

Metoda v parametru přijímá funkci, která se provede pro každý prvek pole. To, co tato funkce vrátí pomocí return pro prvku pole, se stane novou hodnotou tohoto prvku (viz příklady).

Do funkce lze předat 3 parametry. Pokud tyto parametry existují (nejsou povinné), tak do prvního bude automaticky dosazen prvek pole, do druhého bude dosazeno jeho pořadové číslo v poli (index), a do třetího - samotné pole.

Syntaxe

let nové pole = pole.map(function(prvek, index, pole) { kód return upravený prvek; });

Příklad

Vytvoříme pole, kde každý prvek je dvakrát větší než odpovídající prvek výchozího pole:

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

Výsledek provedení kódu:

[2, 4, 6, 8, 10]

Příklad

Vytvoříme pole, kde každý prvek získáme tak, že hodnotu prvku vynásobíme jeho pořadovým číslem v poli:

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

Výsledek provedení kódu:

[0, 2, 6, 12, 20]

Příklad

V případě potřeby lze do třetího parametru předat samotné pole:

let arr = [1, 2, 3, 4, 5]; let res = arr.map(function(elem, index, arr) { zde bude dostupné pole arr });

Příklad

Metodu map lze použít i pro průchod vícerozměrnými poli. Předpokládejme například, že máme následující pole:

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

Projděme toto pole pomocí map a vypišme jeho prvky do konzole:

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

V důsledku toho console.log vypíše [1, 2, 3], poté [4, 5, 6], poté [7, 8, 9].

Jak vidíte, do proměnné elem se dostávají podpole. Nyní aplikujme metodu map na každé podpole a umocněme každý jeho prvek na druhou:

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);

Viz také

  • metoda forEach,
    která aplikuje funkci pro každý prvek pole
  • metoda filter,
    která umožňuje filtrovat prvky pole
  • metody some a every,
    provádějící kontrolu pole
  • metody reduce a reduceRight,
    redukující pole na jednu hodnotu
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout