Dies ist eine experimentelle Technologie
Da diese Technologie noch nicht definitiv implementiert wurde, sollte die Browserkompatibilität beachtet werden. Es ist auch möglich, dass der Syntax in einer späteren Spezifikation noch geändert wird.

Die flatten() Methode erstellt rekursiv ein neues Array mit allen Elementen von Unterarrays bis zu einer spezifizierten Tiefe.

Hinweis: Dieser Methodenname (flatten) wird wegen Bedenken bei der Kompatibilität neu bewertet. Siehe Bug 1443630 und tc39/proposal-flatMap#56.

Syntax

var newArray = arr.flatten(depth)

Parameter

depth Optional
Das Tiefenlevel, welches angibt, bis zu welcher Tiefe die Arraystruktur abgeflacht werden soll. Der Standardwert ist 1.

Rückgabewert

Ein neues Array, welches die Elemente der Unterarrays enthält.

Beispiele

Abflachen von geschachtelten Arrays

var arr1 = [1, 2, [3, 4]];
arr1.flatten();
// [1, 2, 3, 4]

var arr2 = [1, 2, [3, 4, [5, 6]]];
arr2.flatten();
// [1, 2, 3, 4, [5, 6]]

var arr3 = [1, 2, [3, 4, [5, 6]]];
arr3.flatten(2);
// [1, 2, 3, 4, 5, 6]

Abflachen und Löcher in Arrays

Die flatten Methode entfernt leere Plätze in Arrays:

var arr4 = [1, 2, , 4, 5];
arr4.flatten();
// [1, 2, 4, 5]

Alternative

reduce und concat

var arr1 = [1, 2, [3, 4]];
arr1.flatten();
// ist equivalent zu
arr1.reduce((acc, val) => acc.concat(val), []);
// [1, 2, 3, 4]

Spezifikationen

Spezifikation Status Kommentar
Array.prototype.flatten proposal Draft  

Browserkompatibilität

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Grundlegende Unterstützung Nein Nein Nein1 Nein Nein Nein
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Grundlegende Unterstützung Nein Nein Nein Nein1 Nein Nein Nein

1. Available in Firefox Nightly only. See bug 1435813 for status on enabling this by default.

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

 Mitwirkende an dieser Seite: schlagi123
 Zuletzt aktualisiert von: schlagi123,