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

So fügen Sie Docker dynamisch Ports hinzu, ohne das Image neu zu erstellen

Manchmal müssen Sie während des Betriebs freigege...

Analyse mehrerer Gründe, warum Iframe weniger verwendet werden sollte

Die folgende Grafik zeigt, wie zeitaufwändig es is...

Schritte zum Ausführen von ASP.NET Core im Docker-Container

Es gibt in letzter Zeit zu viel Wissen zu lernen,...

Zusammenfassung von 3 Möglichkeiten zum verzögerten Laden eines Vue-Routers

Kein Lazy Loading verwenden importiere Vue von „v...

Beispielanalyse zur Metadatenextraktion von MySQL und Oracle

Inhaltsverzeichnis Vorwort Was sind Metadaten? Ad...

Tutorial zur Installation und Verwendung von Docker MQTT

Einführung in MQTT MQTT (Message Queuing Telemetr...

CSS-Navigationsleistenmenü mit kleinem Dreieck-Implementierungscode

Viele Webseiten haben kleine Dreiecke in ihren Na...

Lösen Sie das Installationsproblem der mysql8.0.19 Winx64-Version

MySQL ist ein kleines relationales Open-Source-Da...

Dieser Artikel zeigt Ihnen, was Vite mit der Anfrage des Browsers macht

Inhaltsverzeichnis Funktionsprinzip: Was macht de...

Eine kurze Einführung in Web2.0-Produkte und -Funktionen

<br />Was ist Web 2.0? Web2.0 umfasst diese ...

Horizontales Header-Menü mit CSS3 implementiert

Ergebnis:Implementierungscode html <nav class=...