103 of 264 menu

Map-metodi

map-metodin avulla voit soveltaa annettua funktiota jokaiselle taulukon elementille. Samalla metodi ei muuta alkuperäistä taulukkoa, vaan palauttaa muunnetun.

Metodi saa parametrina funktion, joka suoritetaan jokaiselle taulukon elementille. Se, mitä tämä funktio palauttaa return-komennolla taulukon elementille, tulee kyseisen elementin uudeksi arvoksi (ks. esimerkit).

Funktiolle voidaan välittää 3 parametria. Jos nämä parametrit ovat olemassa (ne eivät ole pakollisia), niin ensimmäiseen pääsee automaattisesti taulukon elementti, toiseen sen numero taulukossa (indeksi), ja kolmanteen - itse taulukko.

Syntaksi

let uusi_taulukko = taulukko.map(function(elementti, indeksi, taulukko) { koodi return muunnettu_elementti; });

Esimerkki

Luodaan taulukko, jonka jokainen elementti on kaksi kertaa vastaavan alkutaulukon elementin arvo:

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

Koodin suorituksen tulos:

[2, 4, 6, 8, 10]

Esimerkki

Luodaan taulukko, jonka jokainen elementti saadaan näin - elementin arvo kerrotaan sen järjestysnumerolla taulukossa:

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

Koodin suorituksen tulos:

[0, 2, 6, 12, 20]

Esimerkki

Tarvittaessa kolmannelle parametrille voidaan antaa itse taulukko:

let arr = [1, 2, 3, 4, 5]; let res = arr.map(function(elem, index, arr) { täällä taulukko arr on käytettävissä });

Esimerkki

map-metodia voidaan käyttää myös moniulotteisten taulukoiden läpikäymiseen. Olkoon esimerkiksi annettu tällainen taulukko:

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

Käydään läpi tämä taulukko map-metodilla ja tulostetaan sen elementit konsoliin:

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

Tuloksena console.log tulostaa [1, 2, 3], sitten [4, 5, 6], sitten [7, 8, 9].

Kuten näet, muuttujaan elem tulevat alitaulukot. Sovelletaan nyt metodia map jokaiseen alitaulukkoon ja korotetaan jokainen sen elementti toiseen potenssiin:

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

Katso myös

  • metodi forEach,
    joka soveltaa funktiota jokaiselle taulukon elementille
  • metodi filter,
    joka mahdollistaa taulukon elementtien suodattamisen
  • metodit some ja every,
    joilla suoritetaan taulukon tarkistus
  • metodit reduce ja reduceRight,
    joilla taulukko supistetaan yhteen arvoon
Suomi
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Käytämme evästeitä verkkosivuston toiminnalle, analytiikalle ja personoinnille. Tietojen käsittely tapahtuu Tietosuojakäytännön mukaisesti.
hyväksy kaikki mukauta hylkää