--- 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])
callbackcurrentValueindex{{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 flatMapvar 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 concatvar 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")}}