103 of 264 menu

Metoden map

Metoden map låter dig tillämpa en given funktion på varje element i en array. Metoden ändrar inte den ursprungliga arrayen, utan returnerar en modifierad kopia.

Metoden tar en funktion som parameter, som kommer att köras för varje element i arrayen. Det som denna funktion returnerar via return för arrayelementet blir elementets nya värde (se exempel).

Man kan skicka 3 parametrar till funktionen. Om dessa parametrar finns (de är inte obligatoriska), kommer den första automatiskt att vara elementet i arrayen, den andra blir dess position i arrayen (index), och den tredje - själva arrayen.

Syntax

let nyArray = array.map(function(element, index, array) { kod return modifieratElement; });

Exempel

Låt oss skapa en array där varje element är dubbelt så stort som motsvarande element i den ursprungliga arrayen:

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

Resultatet av exekveringen:

[2, 4, 6, 8, 10]

Exempel

Låt oss skapa en array där varje element beräknas så här - elementets värde multipliceras med dess ordningsnummer i arrayen:

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

Resultatet av exekveringen:

[0, 2, 6, 12, 20]

Exempel

Vid behov kan man skicka själva arrayen som tredje parameter:

let arr = [1, 2, 3, 4, 5]; let res = arr.map(function(elem, index, arr) { // här kommer arrayen arr att vara tillgänglig });

Exempel

Metoden map kan också användas för att iterera över multidimensionella arrayer. Låt oss säga att vi har följande array:

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

Låt oss iterera över denna array med map och skriva ut dess element till konsolen:

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

Som ett resultat kommer console.log att skriva ut [1, 2, 3], sedan [4, 5, 6], sedan [7, 8, 9].

Som du kan se, hamnar delarrayerna i variabeln elem. Låt oss nu tillämpa metoden map på varje delarray och kvadrera varje element i den:

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

Se även

  • metoden forEach,
    som tillämpar en funktion på varje element i arrayen
  • metoden filter,
    som låter dig filtrera element i en array
  • metoderna some och every,
    som utför kontroll av en array
  • metoderna reduce och reduceRight,
    som reducerar en array till ett enda värde
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa