Unfold-Funktion in JavaScript

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 die unfold()-Funktion in JavaScript erkunden. Diese Funktion ermöglicht es uns, ein Array zu erstellen, indem wir eine Iterationsfunktion wiederholt mit einem initialen Startwert aufrufen, bis die Funktion false zurückgibt. Durch dieses Lab lernen wir, wie die unfold()-Funktion verwendet werden kann und wie sie dazu genutzt werden kann, bestimmte Programmieraufgaben zu vereinfachen.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic 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/BasicConceptsGroup -.-> javascript/loops("Loops") javascript/BasicConceptsGroup -.-> javascript/array_methods("Array Methods") subgraph Lab Skills javascript/variables -.-> lab-28679{{"Unfold-Funktion in JavaScript"}} javascript/data_types -.-> lab-28679{{"Unfold-Funktion in JavaScript"}} javascript/arith_ops -.-> lab-28679{{"Unfold-Funktion in JavaScript"}} javascript/comp_ops -.-> lab-28679{{"Unfold-Funktion in JavaScript"}} javascript/loops -.-> lab-28679{{"Unfold-Funktion in JavaScript"}} javascript/array_methods -.-> lab-28679{{"Unfold-Funktion in JavaScript"}} end

Array auseinanderfalten

Um ein Array mit einer Iterationsfunktion und einem initialen Startwert zu erstellen, 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 eine while-Schleife und Array.prototype.push(), um die Iterationsfunktion wiederholt aufzurufen, bis sie false zurückgibt.
  3. Die Iterationsfunktion sollte ein Argument (seed) akzeptieren und immer ein Array mit zwei Elementen ([value, nextSeed]) oder false zurückgeben, um zu beenden.

Verwenden Sie den folgenden Code, um die unfold-Funktion zu implementieren:

const unfold = (fn, seed) => {
  let result = [],
    val = [null, seed];
  while ((val = fn(val[1]))) result.push(val[0]);
  return result;
};

Hier ist ein Beispiel dafür, wie die unfold-Funktion verwendet werden kann:

var f = (n) => (n > 50 ? false : [-n, n + 10]);
unfold(f, 10); // [-10, -20, -30, -40, -50]

Dies erzeugt ein Array mit Werten, die von der Iterationsfunktion f ausgehend vom initialen Startwert von 10 generiert werden. Die Iterationsfunktion generiert bei jedem Schritt ein Array mit zwei Elementen: die Negation des aktuellen Startwerts und den nächsten Startwert, der um 10 erhöht wird. Der Prozess setzt sich fort, bis der Startwert größer als 50 ist, bei dem die Funktion false zurückgibt.

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Array auseinanderfalten-Lab abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.