Details zu gängigen Javascript-Funktionen höherer Ordnung

Details zu gängigen Javascript-Funktionen höherer Ordnung

Higher Order function , im Englischen Higher Order Function genannt. Eine Funktion, die eine andere Funktion als Parameter erhalten kann, wird als Funktion höherer Ordnung bezeichnet.

Beispiel:

Funktion add(x, y, f) {
 gibt f(x) + f(y) zurück;
}

//Mit Code überprüfen:
add(-5, 6, Math.abs); // 11

1. Gemeinsame Funktionen höherer Ordnung

ES6 fügt Arrays mehrere neue Methoden hinzu, darunter map , reduce “ und filter , alles Funktionen höherer Ordnung. Darüber hinaus ist auch das normale sort eine Funktion höherer Ordnung. Im Folgenden werden die drei neuen Methoden vorgestellt.

1.1、Filter

filter dient zum Filtern des Arrays, zum Zurückgeben der Daten, die die Bedingungen erfüllen, zum Bilden eines neuen Arrays und zum Zurückgeben und zum Verwerfen der Daten, die die Bedingungen nicht erfüllen.

Beispiel 1: Nehmen Sie die Daten weniger als 100 im Array heraus und fügen Sie sie in ein neues Array ein

let grad = [ 102, 188, 55, 66, 200, 800 ]
lass arr2 = grad.filter( Funktion(Element){
 Rückgabewert <= 100
})
console.log("arr2",arr2) // 55, 66

Im obigen Beispiel ist der an filter übergebene Parameter eine Funktion. Die übergebene Funktion wirkt nacheinander auf jedes Element und entscheidet dann, ob das Element beibehalten oder verworfen wird, je nachdem, ob der Rückgabewert true oder false ist. Da nur 55 und 66 die Anforderungen erfüllen, gibt es im neuen Array nur diese beiden Elemente.

1.2, Karte

Karte bedeutet Kartierung.

Das ursprüngliche Array wird in ein neues Array abgebildet und der Rückgabewert ist ein neues Array, ohne das ursprüngliche Array zu ändern. Die Länge des neuen Arrays ändert sich im Vergleich zum ursprünglichen Array nicht.

Beispiel 2: Vergrößern Sie jedes Datenelement um das Zweifache.

sei arr2 = [ 55, 66 ]
lass arr3 = arr2.map( Artikel => {
 Retourenartikel*2
})
//Ergebnis zurückgeben [110, 132]

Im obigen Beispiel ist der von map empfangene Parameter eine Funktion, die nacheinander auf jedes Element einwirkt, das Element um das Zweifache vergrößert und auch beliebig komplexe Operationen daran ausführen kann.

1.3、reduzieren

reduce ist der Prozess der Zusammenfassung von Arrays. Oft wird ein Array eingegeben und ein Datenelement ausgegeben. Wird häufig zum Summieren und Berechnen von Durchschnittswerten verwendet.

Beispiel 3: Summieren Sie die vom vorherigen Beispiel zurückgegebenen Ergebnisse.

lass Summe = arr3.reduce((tmp,item)=>{
 Rückgabe temporärer+Artikel
})
//Ergebnis zurückgeben 242

Jetzt kommt der Punkt. Wenn wir die drei obigen Beispiele miteinander kombinieren wollen, wie einfach können wir es am Ende schreiben?

Verantwortlich für das Schreiben:

// Komplexe Schreibweise let grad = [102,188,55,66,200,800]
lass arr2 = grad.filter(Funktion(Element){
 Rückgabewert <= 100
})
lass arr3 = arr2.map(item=>{
 Retourenartikel*2
})
lass Summe = arr3.reduce((tmp,item)=>{
 Rückgabe temporärer+Artikel
})

Einfaches Schreiben:

//Einfache Schreibweise let sum2 = grad
           .filter(Element => {Element zurückgeben <= 100})
          .map(Element=>{Rückgabeelement*2})
          .reduce((tmp,item)=>{return tmp+item})

Dies ist das Ende dieses Artikels über die Details gängiger Funktionen höherer Ordnung Javascript . Weitere Informationen zu gängigen Funktionen höherer Ordnung Javascript finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung der JavaScript-Funktionen höherer Ordnung
  • Detaillierte Untersuchung von JavaScript-Funktionen höherer Ordnung
  • Analyse der Verwendung von Funktionen höherer Ordnung in der funktionalen Programmierung in JavaScript
  • Analyse der Prinzipien und Anwendungsbeispiele von JS-Funktionen höherer Ordnung
  • Eine detaillierte Erklärung des Charmes von Funktionen höherer Ordnung in JavaScript
  • Teilen Sie 5 JS-High-Order-Funktionen

<<:  Analyse des Prozesses zum Erstellen eines LAN-Servers basierend auf http.server

>>:  Bei der Verwendung von mybatis-generator mit mysql8.0.3 in IDEA sind Fehler aufgetreten

Artikel empfehlen

Drei Möglichkeiten, um zu verhindern, dass MySQL doppelte Daten einfügt

Erstellen einer neuen Tabelle CREATE TABLE `Perso...

Detaillierte Erklärung der Lösung für den 404-Fehler von Tomcat

Das 404-Problem tritt im Tomcat-Test auf. Die Pro...

Implementierung eines statischen Website-Layouts im Docker-Container

Serverplatzierung Es wird empfohlen, Cloud-Server...

So verhindern Sie mit Nginx die böswillige Auflösung von IP-Adressen

Zweck der Verwendung von Nginx Lassen Sie uns zun...

HTML Mehrere spezielle Trennlinieneffekte

1. Grundlinien 2. Spezialeffekte (die Effekte sin...

Ein einfaches Beispiel zum Erstellen einer dünnen Linientabelle in HTML

Wenn Sie wissen möchten, wie Sie diese Tabelle mi...

SSH-Schlüsselpaare von einer oder mehreren Linux-Instanzen trennen

Schlüsselpaar trennen Trennen Sie SSH-Schlüsselpa...

Typische Fälle von MySQL-Indexfehlern

Inhaltsverzeichnis Typische Fälle Anhang: Häufige...

So legen Sie mit CSS eine Hintergrundunschärfe fest

Beim Erstellen einiger Seiten müssen wir häufig H...

Einführung in den Befehl „Linux-Typversion-Speicherfestplattenabfrage“

1. Lassen Sie uns zunächst eine allgemeine Einfüh...