Einführung
In diesem Lab werden wir das Konzept des Currying in JavaScript erkunden. Currying ist eine Technik, die uns ermöglicht, eine Funktion, die mehrere Argumente annimmt, in eine Sequenz von Funktionen umzuwandeln, von denen jede nur ein einzelnes Argument annimmt. Durch dieses Lab werden Sie ein tieferes Verständnis dafür erlangen, wie Currying funktioniert und wie es in Ihrem JavaScript-Code angewendet werden kann.
Dies ist ein Guided Lab, das schrittweise Anweisungen bietet, um Ihnen beim Lernen und Üben zu helfen. Befolgen Sie die Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrungen zu sammeln. Historische Daten zeigen, dass dies ein Labor der Stufe Anfänger mit einer Abschlussquote von 100% ist. Es hat eine positive Bewertungsrate von 100% von den Lernenden erhalten.
Ein Funktionsargument kümmern
Um eine Funktion zu kümmern, folgen Sie diesen Schritten:
- Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Codeausführung zu beginnen. - Verwenden Sie Rekursion.
- Überprüfen Sie, ob die Anzahl der bereitgestellten Argumente (
args) ausreicht. - Wenn ja, rufen Sie die übergebene Funktion
fnauf. - Wenn nicht, verwenden Sie
Function.prototype.bind(), um eine gekümmerte Funktionfnzurückzugeben, die die restlichen Argumente erwartet. - Wenn Sie eine Funktion kümmern möchten, die eine variable Anzahl von Argumenten akzeptiert (eine variadische Funktion, z.B.
Math.min()), können Sie optional die Anzahl der Argumente als zweites Parameterarityübergeben. - Verwenden Sie folgenden Code:
const curry = (fn, arity = fn.length, ...args) =>
arity <= args.length ? fn(...args) : curry.bind(null, fn, arity, ...args);
Hier sind einige Beispiele:
curry(Math.pow)(2)(10); // 1024
curry(Math.min, 3)(10)(50)(2); // 2
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab "Curry Function" abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.