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

Lernen Sie MySQL-Datenbanken in einer Stunde (Zhang Guo)

Inhaltsverzeichnis 1. Datenbankübersicht 1.1 Entw...

Mit wie vielen Pixeln sollte eine Webseite gestaltet werden?

Viele Webdesigner sind beim Entwurf des Webseitenl...

So erlauben Sie den Remotezugriff auf offene Ports in Linux

1. Ändern Sie die Firewall-Konfigurationsdatei # ...

Zusammenfassung der wichtigsten Attribute des Body-Tags

bgcolor="Textfarbe" background="Hin...

So konfigurieren Sie Bash-Umgebungsvariablen in Linux

Shell ist ein in der Programmiersprache C geschri...

Einführung in die Verwendung gängiger Dockerfile-Befehle

Inhaltsverzeichnis 01 CMD 02 EINSTIEGSPUNKT 03 AR...

Nicht standardmäßiger Implementierungscode für die MySQL UPDATE-Anweisung

Heute werde ich Ihnen einen Unterschied zwischen ...

Beispiele für die Verwendung des Linux-Touch-Befehls

Detaillierte Erklärung des Linux-Touch-Befehls: 1...

So implementieren Sie Property Hijacking mit JavaScript defineProperty

Inhaltsverzeichnis Vorwort Deskriptoren Detaillie...