Wie man ein verschachteltes JavaScript -Array überflätt

Wie man ein verschachteltes JavaScript -Array überflätt
JavaScript Array hat die Möglichkeit, mehrere Arrays in sich selbst zu speichern. Wenn ein inneres Array oder ein Sub-Array zu einem Array hinzugefügt wird, ist es als "bekannt als" bekannt "Mehrdimensional" oder "Verschachtelt ” Array. Es gibt bestimmte Szenarien, in denen Sie möglicherweise ein Array erstellen müssen, das alle verschachtelten JavaScript -Array -Elemente in ihrer ursprünglichen Reihenfolge umfasst. Wenn das der Fall ist, dann ebnen Das geschaffene verschachtelte Array und reduziert seine Dimensionalität gemäß den angegebenen Tiefe.

Dieser Beitrag erklärt die Methoden zu ebnen A Verschachteltes JavaScript -Array. Aber bevor wir hineinspringen, werden wir den Begriff erklären “Tiefe”Da es mit dem Abflachungsverfahren verbunden ist.

Tiefe des verschachtelten JavaScript -Arrays

Der Betrieb eines inneren Arrays oder des Verschachtelns eines Arrays in normalen Array -Schritten “1" im Tiefenstufe. Zum Beispiel hat ein normales Array ohne verschachtelte Array eine “0Tiefenebene:

[12, 23, 34, 45, 56, 67, 78] // Tiefenstufe = 0

Mit einem inneren Unterarray wird die Tiefenstufe "1”:

[12, 23, 34, [45, 56, 67, 78]] // Tiefenstufe = 1

In ähnlicher Weise erhöht die Erhöhung der Anzahl des inneren Unterarrays auch die Tiefenstufe:

[12, 23, [34, [45, 56, 67, 78]] // Tiefenstufe = 2
[12, [23, [34, [45, 56, 67, 78]]] // Tiefenstufe = 3

Schauen Sie sich nun die Methode zur Abflachung eines Arrays in der JavaScript -Version vor ES6 an.

Wie man ein verschachteltes JavaScript -Array mithilfe der CONCAT () -Methode und des Spread Operators […] verflacht []

Die Kombination von "concat ()Methode und “Operator ausbreiten […]Die Methode wird verwendet, um ein verschachteltes JavaScript -Array so wie der Spread -Operator […] die Elemente des angegebenen Arrays auszubreiten und sie dann in einem leeren Array mit der Methode JavaScript concat () zu verkettet zu haben:

Sei Array = [12, 23, [43, 34, 56]];
lass flatArray = [].concat (… Array);
Konsole.log (flatArray);

Ausgang

Dieser Ansatz verfolgt jedoch nur die verschachtelten Arrays der Stufe 1:

const numarray = [12, 23, [34, 45, 56, [67, 78]];
lass flatArray = [].concat (… numarray);
Konsole.log (flatArray);

Der oben gegebene Code fügt das innere Array von “hinzu“Numarray"Als Ganzes zu"FlatarrayDa es seine Elemente nicht verbreiten kann:

Was ist, wenn Sie ein tief verschachteltes Array abflachen müssen?? Dazu können Sie das nutzen “Array.ebnen()”Methode, die von der ES6 JavaScript -Version angeboten wird.

Wie man ein verschachteltes JavaScript -Array mit Array überflätt.Flat () Methode

Der "Array.Wohnung()”Methode ist eingebettet in Es6 Das ermöglicht es Ihnen, “ebnen”Ein verschachteltes JavaScript -Array. Diese Methode gibt ein neues Array zurück, in dem alle Elemente von Unterarrays entsprechend der angegebenen Tiefe verkettet sind.

Syntax des Arrays.Flat () Methode, um ein verschachteltes JavaScript -Array zu verflachen

Lassen Sie NewArray = Array.flach ([Tiefe])

Hier das "Array"Objekt wird auf die" aufgerufen "Wohnung()”Methode beim Bestehen“TiefeAls Argumentation.

Lassen Sie uns nun einige Beispiele überprüfen, um das angegebene Konzept zu verstehen.

Beispiel 1: Wie man ein verschachteltes JavaScript -Array mit einer Tiefe der Stufe verfließt

Zunächst werden wir ein verschachteltes JavaScript-Array mit den folgenden Elementen und einem Unterarray erstellen:

const numarray = [12, 23, [34, 45, 56]];

Dann werden wir das geschaffene verschachtelte abflachen “Numarray"Mit Hilfe der"Wohnung()" Methode:

const flatArray = numarray.Wohnung();
Konsole.log (flatArray);

Wir haben das nicht bestandenTiefe"Argument, also das"Numarray.Wohnung()"Wird den Standard -Tiefenwert berücksichtigen, nämlich"1Und verkettet die von JavaScript verschachtelten Array -Elemente 34, 45, 56 zum neu erstellten “Flatarray”:

Beispiel 2: Wie man ein verschachteltes JavaScript-Array mit zweistufiger Tiefe verfließt

Im folgenden Beispiel werden wir angeben “2" als die "Tiefe" eben. Nachdem das "das"Numarray.Wohnung()"Wird die inneren zwei Sub-Arrays verflachten und ihre Elemente in den resultierenden" hinzufügen "flatArray ()”:

const numarray = [12, 23, [34, 45, 56, [67, 78]];
const flatArray = numarray.flach (2);
Konsole.log (flatArray);

Die Ausführung des angegebenen Programms zeigt die folgende Ausgabe:

Beispiel 3: Wie man ein verschachteltes JavaScript -Array überflätt, ohne die Tiefenstufe zu kennen

Wenn Sie keine Ahnung von der Array -Tiefenstufe haben, passieren Sie “Unendlichkeit"Als Argument für die"Array.Wohnung()" Methode. In diesem Fall sind alle Sub-Arrays-Elemente "rekursiv”Zu einem anderen Array verkettet.

Zum Beispiel, um das untergegebene Ablagerungen zu verflachen “Numarray"Wir werden angeben"UnendlichkeitAnstelle des Arguments der Tiefenebene:

const numarray = [12, 23, [34, 45, 56, [67, 78, [89, 90]]];
const flatArray = numarray.flach (unendlich);
Konsole.log (flatArray);

Wie Sie sehen können, das “Numarray.Wohnung()"Die Methode hat das verschachtelte erfolgreich abgeflacht"Numarray”:

Dies waren alle wesentlichen Informationen zum Abflachen eines Arrays in JavaScript. Sie können nach Ihren Vorlieben weiter daran arbeiten.

Abschluss

Der Array.Wohnung() Die Methode wird in erster Linie verwendet, um ein verschachteltes JavaScript -Array zu verflachen. Es akzeptiert die Tiefe Ebene als Argument. Vor ES6 die Kombination einiger eingebauter Methoden wie z concat () Und Operator ausbreiten […] kann nur das Array der Stufe eins abflachen; Allerdings die Array.Wohnung() Die Methode hilft dabei, tief verschachtelte Arrays zu verflachen. In diesem Artikel wurde das Verfahren erläutert, um ein Array in JavaScript zu verflachen.