Das Flachmachen von Arrays mit JavaScript-Rekursion

JavaScriptJavaScriptBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

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.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") subgraph Lab Skills javascript/variables -.-> lab-28311{{"Das Flachmachen von Arrays mit JavaScript-Rekursion"}} javascript/data_types -.-> lab-28311{{"Das Flachmachen von Arrays mit JavaScript-Rekursion"}} javascript/arith_ops -.-> lab-28311{{"Das Flachmachen von Arrays mit JavaScript-Rekursion"}} javascript/comp_ops -.-> lab-28311{{"Das Flachmachen von Arrays mit JavaScript-Rekursion"}} javascript/higher_funcs -.-> lab-28311{{"Das Flachmachen von Arrays mit JavaScript-Rekursion"}} end

Wie man ein Array mit JavaScript flachmacht

Um ein Array in JavaScript bis zu einer bestimmten Tiefe zu flachmachen, folgen Sie diesen Schritten:

  1. Öffnen Sie das Terminal/SSH und geben Sie node ein, um mit der Codeausführung zu beginnen.
  2. Verwenden Sie die flatten-Funktion mit zwei Argumenten: arr (das zu flachende Array) und depth (die maximale Anzahl der geschachtelten Ebenen, die geflachtet werden sollen).
  3. Innerhalb der flatten-Funktion verwenden Sie Rekursion, um depth um 1 pro Ebene Tiefe zu verringern.
  4. Verwenden Sie Array.prototype.reduce() und Array.prototype.concat(), um Elemente oder Arrays zu kombinieren.
  5. Fügen Sie einen Basisfall hinzu, wenn depth gleich 1 ist, um die Rekursion zu beenden.
  6. Überspringen Sie das zweite Argument, depth, um nur bis zu einer Tiefe von 1 zu 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.