Funktionen von links nach rechts zusammensetzen

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 der Funktionskomposition in JavaScript erkunden. Insbesondere werden wir uns auf die composeRight-Funktion konzentrieren, die uns ermöglicht, mehrere Funktionen zu einer einzigen Funktion zu kombinieren, die von links nach rechts ausgeführt wird. Anhand von praktischen Beispielen werden wir sehen, wie die Funktionskomposition unseren Code vereinfachen und modularer gestalten kann.


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") javascript/AdvancedConceptsGroup -.-> javascript/spread_rest("Spread and Rest Operators") subgraph Lab Skills javascript/variables -.-> lab-28597{{"Funktionen von links nach rechts zusammensetzen"}} javascript/data_types -.-> lab-28597{{"Funktionen von links nach rechts zusammensetzen"}} javascript/arith_ops -.-> lab-28597{{"Funktionen von links nach rechts zusammensetzen"}} javascript/comp_ops -.-> lab-28597{{"Funktionen von links nach rechts zusammensetzen"}} javascript/higher_funcs -.-> lab-28597{{"Funktionen von links nach rechts zusammensetzen"}} javascript/spread_rest -.-> lab-28597{{"Funktionen von links nach rechts zusammensetzen"}} end

Umkehrung der Funktionskomposition

Um mit der Programmierung zu üben, öffnen Sie das Terminal/SSH und geben Sie node ein.

Hier ist, wie man eine Funktionskomposition von links nach rechts durchführt:

  • Verwenden Sie die Array.prototype.reduce()-Methode, um eine Funktionskomposition von links nach rechts durchzuführen.
  • Die erste (am linkesten) Funktion kann einen oder mehrere Argumente akzeptieren, während die verbleibenden Funktionen unär sein müssen.
const composeRight = (...fns) =>
  fns.reduce(
    (f, g) =>
      (...args) =>
        g(f(...args))
  );

Beispiel:

const add = (x, y) => x + y;
const square = (x) => x * x;
const addAndSquare = composeRight(add, square);
addAndSquare(1, 2); // 9

Zusammenfassung

Herzlichen Glückwunsch! Sie haben das Lab "Reverse Compose Functions" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.