Einführung
In diesem Lab werden wir das Konzept des Flachmachens eines Arrays bis zu einer bestimmten Tiefe mit JavaScript erkunden. Wir werden lernen, wie man Rekursion, reduce- und concat-Methoden verwendet, um Elemente oder Arrays zu kombinieren. Am Ende dieses Labs werden Sie in der Lage sein, Arrays effizient zu flachmachen und verschachtelte Datenstrukturen in JavaScript zu manipulieren.
Wie man ein Array mit JavaScript flachmacht
Um ein Array in JavaScript bis zu einer bestimmten Tiefe zu flachmachen, folgen Sie diesen Schritten:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Codeausführung zu beginnen. - Verwenden Sie die
flatten-Funktion mit zwei Argumenten:arr(das zu flachende Array) unddepth(die maximale Anzahl der geschachtelten Ebenen, die geflachtet werden sollen). - Innerhalb der
flatten-Funktion verwenden Sie Rekursion, umdepthum1pro Ebene Tiefe zu verringern. - Verwenden Sie
Array.prototype.reduce()undArray.prototype.concat(), um Elemente oder Arrays zu kombinieren. - Fügen Sie einen Basisfall hinzu, wenn
depthgleich1ist, um die Rekursion zu beenden. - Überspringen Sie das zweite Argument,
depth, um nur bis zu einer Tiefe von1zu flachmachen (einzige Flachmacher).
Hier ist der Code für die flatten-Funktion:
const flatten = (arr, depth = 1) =>
arr.reduce(
(a, v) =>
a.concat(depth > 1 && Array.isArray(v) ? flatten(v, depth - 1) : v),
[]
);
Sie können die flatten-Funktion mit den folgenden Beispielen testen:
flatten([1, [2], 3, 4]); // [1, 2, 3, 4]
flatten([1, [2, [3, [4, 5], 6], 7], 8], 2); // [1, 2, 3, [4, 5], 6, 7, 8]
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Flatten Array" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.