Einführung
In diesem Lab werden wir das Konzept der Function Arity in JavaScript erkunden. Ziel dieses Labs ist es, eine Higher-Order-Funktion zu erstellen, die eine Funktion und eine Zahl n als Argumente akzeptiert und eine neue Funktion zurückgibt, die nur bis zu n Argumente akzeptiert und alle weiteren ignoriert. Dies wird uns helfen, zu verstehen, wie man die Anzahl der an eine Funktion übergebenen Argumente in JavaScript begrenzen kann.
Wie man eine Funktion mit einer bestimmten Anzahl von Argumenten erstellt
Um eine Funktion zu erstellen, die eine bestimmte Anzahl von Argumenten akzeptiert und alle weiteren Argumente ignoriert, folgen Sie diesen Schritten:
Öffnen Sie das Terminal/SSH und geben Sie
nodeein, um mit der Codeausführung zu beginnen.Verwenden Sie den folgenden Code, um Ihre Funktion zu erstellen:
const ary =
(fn, n) =>
(...args) =>
fn(...args.slice(0, n));
Rufen Sie die gerade erstellte Funktion
arymit zwei Argumenten auf: die Funktion, für die Sie die Anzahl der Argumente begrenzen möchten (fn), und die Anzahl der Argumente, auf die Sie sie begrenzen möchten (n).Nun können Sie die neue Funktion verwenden, um die Anzahl der Argumente für jede beliebige Funktion zu begrenzen. Dazu rufen Sie Ihre neue Funktion mit dem Spread-Operator (
...) und den Argumenten auf, die Sie begrenzen möchten.
Hier ist ein Beispiel, wie Sie Ihre neue Funktion verwenden können:
const firstTwoMax = ary(Math.max, 2);
[[2, 6, "a"], [6, 4, 8], [10]].map((x) => firstTwoMax(...x)); // [6, 6, 10]
In diesem Beispiel ist firstTwoMax eine neue Funktion, die die Math.max-Funktion auf die Akzeptanz von nur den ersten zwei Argumenten begrenzt. Die map-Methode wird verwendet, um die neue Funktion auf jedes Array in der äußeren Array anzuwenden und das Maximum der ersten beiden Elemente jedes inneren Arrays zurückzugeben.
Zusammenfassung
Herzlichen Glückwunsch! Sie haben das Lab zu Function Arity abgeschlossen. Sie können in LabEx weitere Labs absolvieren, um Ihre Fähigkeiten zu verbessern.