Heim >Web-Frontend >js-Tutorial >Wie erstelle ich eine variadische Curry-Summenfunktion in JavaScript?

Wie erstelle ich eine variadische Curry-Summenfunktion in JavaScript?

Susan Sarandon
Susan SarandonOriginal
2024-12-05 09:01:11310Durchsuche

How to Create a Variadic Curried Sum Function in JavaScript?

Variadische Curry-Summenfunktion in JavaScript

In JavaScript ist Currying eine Technik, die eine Funktion mit mehreren Argumenten in eine Reihe von Funktionen mit einem einzigen Argument umwandelt. Dies ermöglicht eine größere Flexibilität und Wiederverwendbarkeit des Codes.

Erstellen einer variadischen Curry-Summenfunktion

Die gestellte Frage zielt darauf ab, eine JavaScript-Summenfunktion zu erstellen, die eine variierende Zahl akzeptieren kann von Argumenten und akkumulieren ihre Summe. Um dies zu erreichen, können wir die Kraft des Curryings nutzen:

function sum(n) {
  var v = function(x) {
    return sum(n + x);
  };

  v.valueOf = v.toString = function() {
    return n;
  };

  return v;
}

// Example usage
console.log(+sum(1)(2)(3)(4)); // Output: 10

Die Implementierung verstehen

  1. Die Summenfunktion benötigt ein einzelnes Argument n.
  2. Es gibt eine innere Funktion v zurück, die die Curry-Summenfunktion darstellt.
  3. Die v-Funktion benötigt ein einzelnes Argument x und gibt eine neue Curry-Summenfunktion zurück, die x enthält.
  4. v definiert außerdem die Methoden valueOf und toString, um das Standardverhalten zu überschreiben und den aktuellen Wert der Summe zurückzugeben.
  5. Das Ergebnis des Aufrufs von sum(1 ) ist eine Curry-Summenfunktion, die ein Argument akzeptiert, sum(2).
  6. Der Aufruf von sum(2) gibt eine andere Curry-Summenfunktion zurück, die ein Argument akzeptiert, sum(3)
  7. Durch die Verwendung des Operators vor dem letzten Aufruf von sum zwingen wir JavaScript, das Ergebnis in eine Zahl umzuwandeln, was zur gewünschten Summe aller führt Argumente.
  8. Fazit

Diese Implementierung nutzt Currying, um eine variable Summenfunktion in JavaScript zu erstellen, die die Berechnung von Summen mit einer unterschiedlichen Anzahl von Argumenten auf bequeme und flexible Weise ermöglicht Art und Weise.

Das obige ist der detaillierte Inhalt vonWie erstelle ich eine variadische Curry-Summenfunktion in JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn