Python-Funktionen hoher Ordnung

Als Entwickler haben Sie wahrscheinlich normale JavaScript-Funktionen verwendet. Aufgerufene Funktionen erster Ordnung, sie nehmen keine Funktion als Parameter auf oder geben eine Funktion zuruck.

In diesem Artikel geht es um Funktionen höherer Ordnung (HOF). Dies sind Funktionen, die Entwicklern helfen, Code zu reduzieren, um ihn lesbarer zu machen, indem sie eine Funktion als Argument ubergeben oder eine Funktion zuruckgeben. Wir gehen einige grundlegende Beispiele durch, um Ihnen HOF und funktionale Programmierung vorzustellen, und sprechen uber zwei beliebte erweiterte Array-Methoden, die das Funktionskonstrukt höherer Ordnung verwenden, um zu funktionieren.

Einfache Beispiele fur Funktionen höherer Ordnung

h2>

Es gibt verschiedene Möglichkeiten, Funktionen höherer Ordnung in JavaScript zu verwenden.

Rechner

Beginnen wir mit einem einfachen HOF, das eine Callback-Funktion als Argument aufnimmt und gibt diesen Ruckruf mit einigen Argumenten zuruck:

Hier haben wir zwei Arten von Funktionen: eine Funktion höherer Ordnung, die einen Ruckruf zuruckgibt, und eine Funktion erster Ordnung, die ausfuhrt eine Operation an zwei Zahlen. Am Ende des Snippets machen wir einen Funktionsaufruf an higherOrderFunction(). Diese Funktion gibt das Ergebnis eines Aufrufs des cb zuruck, das mit den angegebenen Parametern ubergeben wurde. Wenn Sie eine Callback-Funktion fur alle möglichen arithmetischen Operatoren geschrieben haben, können Sie mit der upperOrderFunction jede beliebige Operation aufrufen, die Sie benötigen.

Ereignis-Listener

Ein weiteres Beispiel fur eine Funktion höherer Ordnung ist das, was passiert, wenn Sie einem Element im DOM (Dokumentobjektmodell) einen Ereignis-Listener hinzufugen.

In diesem Beispiel habe ich eine Schaltfläche in HTML erstellt, sie mit JavaScript ausgewählt und ihr einen Ereignis-Listener hinzugefugt. Die Struktur des Ereignis-Listeners ist die einer einfachen Funktion höherer Ordnung – es nimmt in einer anonymen Funktion als zweites Argument.

Hervorgehobener Bereich, der anzeigt, wo sich die Funktion höherer Ordnung in einem Ereignis-Listener befindet.

Der hervorgehobene Abschnitt ist Ihre Funktion höherer Ordnung.

81 % der Teilnehmer gaben an, dass sie fuhlten sich nach dem Besuch eines Bootcamps sicherer in Bezug auf ihre Berufsaussichten im Tech-Bereich. Lassen Sie sich noch heute in ein Bootcamp einweisen.

Der durchschnittliche Bootcamp-Absolvent verbrachte weniger als sechs Monate im Karriereubergang, vom Beginn eines Bootcamps bis zur Suche nach seinem ersten Job.

JavaScript Built-In Array Methods sind diese speziellen Funktionen höherer Ordnung, die neu in ES6 sind, die wir verwenden können, um uber ein Array zu iterieren und es entweder zu manipulieren oder ein völlig neues Array zuruckzugeben, dessen Werte manipuliert wurden.

Wie wir anfangen um komplexere Problemlösungen in JavaScript zu lösen, denken Sie daruber nach, einen Teil der Logik zu abstrahieren, die wir schreiben, wenn wir uber Arrays iterieren. Die Verwendung dieser Methoden fur Funktionsarrays höherer Ordnung hilft Ihnen, ein besserer JS-Entwickler zu werden.

Angenommen, wir haben zum Beispiel ein Array von Professoren:

UVNRam00sqZ2XWlWgK36aj3tP7oHL2i1wM3JLEDbcqwXs IBMxRNlmbknHgjO JFy32VHF7u4glA1btMETcPhCPyoZ0GuToxG0D7MlPWlNMaWsRUNJtkMRNP4kPAYBdORaCwWiRF

forEach

Wenn wir das Array durchlaufen und jedes Element vor der Verwendung von ES6 bearbeiten möchten, mussen wir Folgendes tun:

Die ES6-Syntax ermöglicht es uns, den Code mithilfe der forEach-Methode zu reduzieren:

Diese forEach-Methode nimmt eine Callback-Funktion als ersten Parameter auf, um sie zu einer Funktion h√∂herer Ordnung zu machen. Diese Callback-Funktion ist im Grunde die "Aktion‚" wird fur jedes Element im Array ausgefuhrt. Daruber hinaus nimmt die forEach-Methode auch einen Index und ein Array als optionalen zweiten und dritten Parameter auf.

Die Reihenfolge dieser Parameter in der forEach-Methode (sowie den anderen gebauten -in Array-Methoden). Die erste ist immer die Callback-Funktion, die zweite ist immer der Index des Elements im Array und die dritte ist immer eine Kopie des Arrays selbst.

Die forEach-Methode ist eine weitere Möglichkeit, eine for-Schleife in JavaScript präsentieren. Es gibt nichts zuruck. Die Methode manipuliert, was bereits vorhanden ist, und speichert es in dem Array, mit dem Sie arbeiten, wenn Sie angeben, was Sie damit tun möchten.

Map

Die Methode, die dem forEach am nächsten kommt Methode ist die Kartenmethode. Es funktioniert sehr ähnlich, außer dass diese Methode ein neues Array zuruckgibt. Alles, was Sie in der Callback-Funktion manipulieren, hat keinen Einfluss auf das ursprungliche Array.

Schauen wir uns an, wie die Karte vor ES6 aussah:

Wie Sie sehen mussten, mussten wir außerhalb unserer for-Schleife ein neues Array instanziieren, damit wir neue Werte hineinschieben können. Dann mussen wir unser neues Array tatsächlich zuruckgeben, um es tatsächlich woanders verwenden zu können!

Mit ES6 und der map-Methode können wir einen Teil dieser Logik abstrahieren, um es lesbarer zu machen:

Das Besondere an der map-Methode sowie anderen Array-Methoden wie insbesondere der Reduce- und Filterfunktion ist, dass Sie sie einer Variablen zuweisen und zuruckgeben können oder einfach die zuruckgeben ganze Funktion zusammen! Es ist kein Pushen auf ein neues Array erforderlich – Mit dieser Kartenmethode ist es fur Sie erledigt. Denken Sie daran, einen Ruckgabewert in der Logik Ihrer Ruckruffunktion fur die Kartenmethode zu haben!

Schlussfolgerung:

Funktionen höherer Ordnung sind ein äußerst wichtiges Konzept in JavaScript, das Ihnen hilft, ein besserer Entwickler zu werden. Es wird helfen, einige Logik zu abstrahieren, um Ihren Code lesbarer zu machen , und in einigen Fällen performanter.

In diesem Tutorial haben wir einige der verschiedenen Möglichkeiten untersucht, wie wir Funktionen höherer Ordnung schreiben können, von einfachen Rechnermethoden bis hin zu Ereignis-Listenern und erweiterten Array-Funktionen. Sobald Sie dies beherrschen, sind Sie bereit, komplexere Problemlösungen anzugehen!

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method