117 of 264 menu

Il metodo flatMap

Il metodo flatMap restituisce un nuovo array, creato dopo che a ogni elemento dell'array originale è stato applicato un callback, specificato nel parametro del metodo. A prima vista il metodo flatMap è simile al metodo map, ma la sua differenza principale è che restituisce sempre un array monodimensionale.

Sintassi

let newArray = array.flatMap(funzione);

Esempio

Otteniamo un nuovo array, utilizzando il metodo flatMap:

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

Risultato dell'esecuzione del codice:

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

Esempio

Otteniamo un nuovo array a partire da uno originale composto da numeri:

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

Risultato dell'esecuzione del codice:

[3, 4, 5, 6, 7]

Esempio

Proviamo ad applicare il metodo flatMap a un array con il primo livello di annidamento:

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

Dopo l'esecuzione del codice vedremo che le condizioni della funzione sono state applicate al sotto-array, considerandolo come un unico elemento. Pertanto, chiamare questo metodo su array annidati non ha senso:

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

Esempio

Se non vogliiamo preoccuparci del livello di annidamento, ma unire l'intero array, utilizziamo il parametro Infinity:

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

Risultato dell'esecuzione del codice:

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

Esempio

Applichiamo all'array due metodi: flatMap e map, e in entrambi i metodi verrà specificata una funzione che rende l'array bidimensionale:

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

Risultato dell'esecuzione del codice:

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

Vedi anche

  • il metodo flat,
    che restituisce un array da sotto-array
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta