117 of 264 menu

Die flatMap-Methode

Die Methode flatMap gibt ein neues Array zurück, das erstellt wurde, nachdem auf jedes Element des ursprünglichen Arrays der Callback angewendet wurde, der im Parameter der Methode angegeben ist. Auf den ersten Blick ähnelt die Methode flatMap der Methode map, aber ihr Hauptunterschied besteht darin, dass sie immer ein eindimensionales Array zurückgibt.

Syntax

let newArray = array.flatMap(Funktion);

Beispiel

Lassen Sie uns ein neues Array erhalten, indem wir die Methode flatMap verwenden:

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

Ergebnis der Codeausführung:

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

Beispiel

Lassen Sie uns ein neues Array aus einem ursprünglichen Array bestehend aus Zahlen erhalten:

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

Ergebnis der Codeausführung:

[3, 4, 5, 6, 7]

Beispiel

Lassen Sie uns versuchen, die Methode flatMap auf ein Array mit der ersten Verschachtelungsebene anzuwenden:

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

Nach der Ausführung des Codes werden wir sehen, dass die Funktionsbedingungen auf das Subarray angewendet wurden und es als ein Element gezählt haben. Daher ist der Aufruf dieser Methode bei verschachtelten Arrays sinnlos:

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

Beispiel

Wenn wir uns nicht mit der Verschachtelungstiefe beschäftigen, sondern das gesamte Array zusammenführen wollen, verwenden wir den Parameter Infinity:

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

Ergebnis der Codeausführung:

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

Beispiel

Lassen Sie uns zwei Methoden auf ein Array anwenden: flatMap und map, wobei im Parameter beider Methoden eine Funktion angegeben wird, die das Array zweidimensional macht:

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

Ergebnis der Codeausführung:

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

Siehe auch

  • die Methode flat,
    die ein Array aus Subarrays zurückgibt
Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen