117 of 264 menu

Meetod flatMap

Meetod flatMap tagastab uue massiivi, mis on loodud pärast seda, kui igale lähtemassiivi elemendile rakendati tagasikutset, mis on määratud meetodi parameetris. Esmapilgul meenutab meetod flatMap meetodit map, kuid selle peamine erinevus on selles, et see tagastab alati ühemõõtmelise massiivi.

Süntaks

let newArray = massiiv.flatMap(funktsioon);

Näide

Saagem uue massiivi, kasutades meetodit flatMap:

let arr = ['a', 'b', 'c']; let res = arr.flatMap(function(elem) { return elem + '!'; }); console.log(res);

Koodi täitmise tulemus:

['a!', 'b!', 'c!']

Näide

Saagem uue massiivi lähtemassiivist, mis koosneb numbritest:

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

Koodi täitmise tulemus:

[3, 4, 5, 6, 7]

Näide

Proovime rakendada meetodit flatMap massiivile, millel on esimene pesastustase:

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

Pärast koodi täitmist näeme, et funktsiooni tingimused rakendusid alamassiivile, lugedes selle üheks elemendiks. Seetõttu pole selle meetodi kasutamine pesastatud massiivides mõttekas:

[3, 4, 5, '4,52']

Näide

Kui me ei taha tegeleda pesastustasemetega, vaid soovime kogu massiivi ühendada, siis kasutame parameetrit Infinity:

let arr = ['a', 'b', ['c', 'd', ['e', 'f', ['g', 'h', ['i']]]]]; let res = arr.flatMap(Infinity); console.log(res);

Koodi täitmise tulemus:

[ 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i' ]

Näide

Rakendame massiivile kaks meetodit: flatMap ja map, kusjuures mõlema meetodi parameetris on määratud funktsioon, mis teeb massiivi kahemõõtmeliseks:

let arr = [1, 2, 3, 4, 5, 6]; let res1 = arr.map(elem => [elem * 3]); let res2 = arr.flatMap(elem => [elem * 3]); console.log('meetod map', res1); console.log('meetod flatMap', res2);

Koodi täitmise tulemus:

'meetod map' [[3], [6], [9], [12], [15], [18]] 'meetod flatMap' [3, 6, 9, 12, 15, 18]

Vaata ka

  • meetod flat,
    mis tagastab massiivi alamassiividest
Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu