Die JavaScript-Array-Methode flatMap () ordnet jedes Element zunächst mithilfe einer Zuordnungsfunktion zu und glättet es dann in ein neues Array.
Die Syntax der flatMap()
Methode lautet:
arr.flatMap(callback(currentValue),thisArg)
Hier ist arr ein Array.
flatMap () Parameter
Die flatMap()
Methode umfasst:
- Rückruf - Die Funktion, die zunächst für jedes Array-Element ausgeführt werden soll. Es dauert:
- currentValue - Das aktuelle Element, das vom Array übergeben wird.
- thisArg (optional) - Wert, der
this
bei der Ausführung verwendet werden sollcallback
.
Rückgabewert von flatMap ()
- Gibt ein neues Array zurück, nachdem jedes Element mit
callback
einer Tiefe von 1 zugeordnet und abgeflacht wurde .
Anmerkungen :
- Die
flatMap()
Methode ändert das ursprüngliche Array nicht. - Die
flatMap()
Methode entsprichtarray.map().flat()
.
Beispiel: Verwenden der flatMap () -Methode
const arr1 = (1, 2, 3, 4, 5); const newArr1 = arr1.flatMap((x) => (x ** 2)); console.log(newArr1); // ( 1, 2, 3, 4, 5 ) // can also be done as const intermediate = arr1.map((x) => (x ** 2)); console.log(intermediate); // ( ( 1 ), ( 4 ), ( 9 ), ( 16 ), ( 25 ) ) const newArr2 = intermediate.flat(); console.log(newArr2); // ( 1, 4, 9, 16, 25 ) const numbers = (1, 2, 3, 4, 5, 6, 7); // remove odd and split even element to two half elements function func(n) ( if (n % 2 === 0) ( return (n / 2, n / 2); ) else ( return (); ) ) const newArr3 = numbers.flatMap(func); console.log(newArr3); // ( 1, 1, 2, 2, 3, 3 )
Ausgabe
(1, 4, 9, 16, 25) ((1), (4), (9), (16), (25)) (1, 4, 9, 16, 25) (1, 1, 2, 2, 3, 3)
Empfohlene Lektüre: JavaScript Array flat ()