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

mysql8.0.23 msi Installation super ausführliches Tutorial

1. Laden Sie MySql herunter und installieren Sie ...

Gründe und Methoden zum Warten auf die Sperre der Tabellenmetadaten in MySQL

Wenn MySQL DDL-Operationen wie „Alter Table“ ausf...

MySQL 4-Methoden zum Importieren von Daten

1. MySQL-Befehl importieren Die Importsyntax des ...

Einfaches Anwendungsbeispiel für rekursive MySQL 8.0-Abfragen

Vorwort Dieser Artikel verwendet die neuen Funkti...

Ausführliche Erläuterung der MySQL-Isolationsebene und des Sperrmechanismus

Inhaltsverzeichnis Kurzbeschreibung: 1. Vier Merk...

In diesem Artikel erfahren Sie mehr über NULL in MySQL

Inhaltsverzeichnis Vorwort NULL in MySQL 2 NULL b...

Detaillierte Erläuterung des Produktionsprinzips des jQuery-Atemkarussells

In diesem Artikel wird der spezifische Prozess de...

Einführung des Code-Prüftools stylelint zum Erfahrungsaustausch

Inhaltsverzeichnis Vorwort Text 1. Installieren S...

Grafisches Tutorial zur Installation von MySQL 5.7.19 (tar.gz) unter Linux

Das erste Tutorial zur Installation der MySQL-5.7...

Tomcat-Konfiguration und wie man ihn in Eclipse startet

Inhaltsverzeichnis So installieren und konfigurie...