Funktionen sind in jeder Programmiersprache sehr nützliche Features. Entwickler können möglicherweise jede Programmiersprache finden, die diese Funktion nicht enthält. Wenn wir außerdem mit dem Erlernen einer Programmiersprache beginnen, lernen wir auf jeden Fall Funktionen kennen, d. h. Codeblöcke, die die Wiederverwendbarkeit des Codes ermöglichen.
In diesem Tutorial lernen wir etwas über Funktionen höherer Ordnung und Currying.
Bevor wir mit dem Einarbeiten in JavaScript beginnen, wollen wir zunächst die Funktionen höherer Ordnung verstehen. Die einfache Definition einer Funktion höherer Ordnung lautet: eine Funktion, die eine andere Funktion als Parameter annimmt oder eine Funktion zurückgibt. Haben Sie jemals die Methode sort() in JavaScript oder einer anderen Programmiersprache wie C++ oder Python verwendet? Wenn ja, haben Sie möglicherweise eine Rückruffunktion als Argument an die Methode
sort()übergeben, um das Array basierend auf einem bestimmten Kontext zu sortieren. Daher können wir sagen, dass die Methode
sort()eine Funktion höherer Ordnung ist. Grammatik
function sortArray(ele1, ele2) { // function body } array.sort(sortArray);
In der obigen Syntax ist
sort()eine Funktion höherer Ordnung, da wir die Funktion sortArray() als Parameter übergeben haben. Beispiel
, um alle Elemente im Array herauszufiltern, die durch 2 teilbar sind. Benutzer können beobachten, dass wir die Funktion
filter_func() als Parameter der Methode filter() übergeben haben. Daher können wir sagen, dass die Methode filter() eine Funktion höherer Ordnung ist.
<html>
<body>
<h2>Higher-order functions using the filter() method.</h2>
<p id = "output"> </p>
<script>
let output = document.getElementById("output");
let array = [10, 30, 23, 32, 32, 32, 32, 45, 5, 6, 878989, 34, 23];
// creating the function to filter values
function filter_func(element) {
return element % 2 == 0;
}
// higher-order function
let divisibleBy2 = array.filter(filter_func);
output.innerHTML += "The filtered values are " + divisibleBy2;
</script>
</body>
</html>
groß. Wir übergeben die Callback-Pfeilfunktion als Argument an die Map-Methode, die eine Zeichenfolge zurückgibt, nachdem das erste Zeichen großgeschrieben wurde. Wir schreiben das erste Zeichen jedes Array-Strings mit den Methoden
substr() und toUpperCase() groß.
<html>
<body>
<h2>Higher-order functions using the map() method</h2>
<p id = "output"> </p>
<script>
let output = document.getElementById("output");
let array = ["hi", "users", "welcome", "on", "tutorialspoint!"];
output.innerHTML += "Original Array: <br>" + array + "<br>";
// higher-order function
let results = array.map((string) => {
// creating the first character capitalize
return string.substr(0, 1).toUpperCase() + string.substr(1);
});
output.innerHTML += "<br>The array after capitalizing the first character: <br>" + results;
</script>
</body>
</html>
in der Array-Bibliothek von JavaScript implementiert, die es Benutzern ermöglicht, die Filterlogik zu überschreiben, indem sie eine benutzerdefinierte Rückruffunktion als Parameter übergeben. Currying in JavaScript
Die letzte verschachtelte Funktion der Curry-Funktion gibt die endgültige Ausgabe zurück.
Grammatik
function addition(num1) { return function (num2) { return num1 + num2; }; } addition(10)(20);
Wir geben diese Funktion von der Funktion
addition()in der obigen Syntax zurück. Darüber hinaus können Benutzer auch beobachten, wie wir die Funktion addition() aufrufen, indem wir mehrere Parameter übergeben. Beispiel
. Die Additionsfunktion hat nur einen Parameter. Außerdem wird eine verschachtelte Funktion zurückgegeben, die ebenfalls ein einzelnes Argument akzeptiert. Die verschachtelte Funktion gibt die Summe der Argumente num1 und num2 zurück.
<html>
<body>
<h2>Curried functions</h2>
<p id = "output"> </p>
<script>
let output = document.getElementById("output");
// curried function, which returns the function
function addition(num1) {
return function (num2) {
return num1 + num2;
};
}
output.innerHTML += "After calling the curried function, the result is " + addition(10)(20);
</script>
</body>
</html>
und Curry-Funktionen erfahren. Funktionen höherer Ordnung und Curry haben viele Verwendungsmöglichkeiten, von denen wir einige anhand von drei Beispielen gesehen haben.
Das obige ist der detaillierte Inhalt vonFunktionen höherer Ordnung und Currying in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!