117 of 264 menu

FlatMap metodas

Metodas flatMap grąžina naują masyvą, sukurtą po to kai kiekvienam pradinio masyvo elementui buvo pritaikytas callback, nurodytas metodo parametre. Iš pirmo žvilgsnio metodas flatMap panašus į metodą map, bet jo pagrindinis skirtumas yra tas, kad jis visada grąžina vienmatį masyvą.

Sintaksė

let newArray = masyvas.flatMap(funkcija);

Pavyzdys

Gaukime naują masyvą, naudojant metodą flatMap:

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

Kodo vykdymo rezultatas:

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

Pavyzdys

Gaukime naują masyvą iš pradinio, susidedančio iš skaičių:

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

Kodo vykdymo rezultatas:

[3, 4, 5, 6, 7]

Pavyzdys

Pabandykime pritaikyti metodą flatMap masyvui su pirmuoju įdėtumo lygiu:

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

Po kodo vykdymo pamatysime, kad funkcijos sąlygos buvo taikomos submasyvui, laikant jį vienu elementu. Todėl šio metodo iškvietimas įdėtuose masyvuose neturi prasmės:

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

Pavyzdys

Jei norime nesivarginti su įdėtumo lygiu, o sujungti visą masyvą, naudojame parametrą Infinity:

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

Kodo vykdymo rezultatas:

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

Pavyzdys

Pritaikykime masyvui du metodus: flatMap ir map, be to, abiejų metodų parametruose bus nurodyta funkcija, daranti masyvą dvimačiu:

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

Kodo vykdymo rezultatas:

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

Taip pat žiūrėkite

  • metodas flat,
    kuris grąžina masyvą iš submasyvų
Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti