--- title: Array.prototype.flatMap() slug: Web/JavaScript/Reference/Global_Objects/Array/flatMap tags: - Array - Experimental - JavaScript - Method - Prototype - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Array/flatMap ---
Die flatMap()
Methode bildet jedes Element über eine Funktion ab und flacht das Ergebnis in ein Array ab. Sie ist identisch zu einem map gefolgt von einem flat der Tiefe 1, aber flatMap
ist oft nützlich und beide in einer Methode zusammenführen ist etwas effizienter.
\{{EmbedInteractiveExample("pages/js/array-flatmap.html")}}
var new_array = arr.flatMap(function callback(currentValue[, index[, array]]) { // return element for new_array }[, thisArg])
callback
currentValue
index
{{optional_inline}}array
{{optional_inline}}flatMap
aufgerufen wurde.thisArg
{{optional_inline}}callback
für this
genutzt wird.Ein neues Array mit jedem Element, dass aus dem Resultat der callback Funktion hervorgeht und auf die Tiefe 1 abgeflacht wurde.
Siehe auf der Seite {{jsxref("Array.prototype.map()")}} für eine detaillierte Beschreibung der callback
Funktion. Die flatMap
Methode ist identisch zu map
gefolgt von flat
mit der Tiefe 1.
map
und flatMap
var arr1 = x => [x * 2] // [[2], [4], [6], [8]] arr1.flatMap(x => [x * 2] // only one level is flattened arr1.flatMap(x => [[x * 2]]); // [[2], [4], [6], [8]]
reduce
und concat
var arr1 = [1, 2, 3, 4];
arr1.flatMap(x => [x * 2]);
// ist equivalent zu
arr1.reduce((acc, x) => acc.concat([x * 2]), []);
// [2, 4, 6, 8]
Spezifikation | Status | Kommentar |
---|---|---|
Array.prototype.flatMap proposal |
Candidate (3) |
{{Compat("javascript.builtins.Array.flatMap")}}