fonctions Python d’ordre élevé

En tant que développeur, vous avez probablement utilisé des fonctions JavaScript classiques. Fonctions de premier ordre appelées, ils ne prennent pas une fonction en tant que paramètre ou ne renvoient pas de fonction.

Cet article parle des fonctions d’ordre supérieur (HOF). Ce sont des fonctions qui aident les développeurs à affiner le code pour le rendre plus lisible en passant une fonction en argument ou en retournant une fonction. Nous allons passer en revue quelques exemples de base pour vous présenter HOF et la programmation fonctionnelle et parler de deux méthodes de tableau avancées populaires qui utilisent la construction de fonction d’ordre supérieur pour fonctionner.

Exemples de fonction de base d’ordre supérieur

Il existe plusieurs façons d’utiliser les fonctions d’ordre supérieur en JavaScript.

Calculatrice

Commençons par un HOF de base qui prend une fonction de rappel comme argument et renvoie ce rappel avec quelques arguments :

Ici, nous avons deux types de fonctions : une fonction d’ordre supérieur qui renvoie un rappel et une fonction de premier ordre définie qui exécute une opération sur deux nombres. √Ä la fin de l’extrait, nous effectuons un appel de fonction à higherOrderFunction(). Cette fonction renvoie le résultat d’un appel du cb qui a été passé avec les paramètres donnés. Si vous avez écrit une fonction de rappel pour tous les opérateurs arithmétiques possibles, vous pouvez utiliser la fonction upperOrderFunction pour appeler l’opération dont vous avez besoin.

Event Listener

Un autre exemple de fonction d’ordre supérieur est ce qui se produit lorsque vous ajoutez un event listener à un élément du DOM (document object model). Prenez cet exemple :

Dans cet exemple, j’ai créé un bouton en HTML, je l’ai sélectionné à l’aide de JavaScript et j’y ai ajouté un écouteur d’événement. La structure de l’écouteur d’événement est celle d’une simple fonction d’ordre supérieur ‚Äì il prend dans une fonction anonyme comme second argument.

Zone en surbrillance qui montre o√π se trouve la fonction d’ordre supérieur dans un écouteur d’événement.

La section en surbrillance est votre fonction d’ordre supérieur.

81% des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi en technologie après avoir assisté à un bootcamp. Faites-vous jumeler à un bootcamp aujourd’hui.

Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.

Méthodes JavaScript Built-In Array sont ces fonctions spéciales d’ordre supérieur nouvelles pour ES6 que nous pouvons utiliser pour parcourir un tableau et soit le manipuler, soit renvoyer un tout nouveau tableau dont les valeurs ont été manipulées.

Comme nous commençons à obtenir dans la résolution de problèmes plus complexes en JavaScript, commencez à penser à l’abstraction d’une partie de la logique que nous écrivons lorsque nous itérons sur des tableaux. L’utilisation de ces méthodes de tableau de fonctions d’ordre supérieur vous aide à devenir un meilleur développeur JS.

Disons par exemple que nous avons un tableau de professeurs :

UVNRam00sqZ2XWlWgK36aj3tP7oHL2i1wM3JLEDbcqwXs IBMxRNlmbknHgjO JFy32VHF7u4glA1btMETcPhCPyoZ0GuToxG0D7MlPWlNMaWsRUNJtkMRNP4kPAYBdORaCwWiRF

forEach

Si nous voulons parcourir le tableau et manipuler chaque élément avant d’utiliser ES6, voici ce que nous devons faire :

La syntaxe ES6 nous permet de réduire le code en utilisant la méthode forEach :

Cette méthode forEach prend une fonction de rappel comme premier paramètre pour en faire une fonction d’ordre supérieur. Cette fonction de rappel est essentiellement l’action " effectuée sur chaque élément du tableau. De plus, la méthode forEach prend également un index et un tableau comme deuxième et troisième paramètres facultatifs.

L’ordre compte sur ces paramètres dans la méthode forEach (ainsi que les autres -dans les méthodes de tableau). La première est toujours la fonction de rappel, la seconde est toujours l’index de l’élément dans le tableau et la troisième est toujours une copie du tableau lui-même.

La méthode forEach est un autre moyen de présenter une boucle for en JavaScript. Il ne renvoie rien. La méthode manipule ce qui est déjà là et l’enregistre dans le tableau avec lequel vous travaillez si vous spécifiez ce que vous voulez en faire.

Map

La méthode la plus proche du forEach méthode est la méthode de la carte. Cela fonctionne à peu près de la même manière, sauf que cette méthode renvoie un nouveau tableau. Tout ce que vous manipulez dans la fonction de rappel n’affectera pas le tableau d’origine.

Regardons à quoi ressemblait la carte avant ES6 :

Comme vous pouvez le voir, nous devions instancier un nouveau tableau en dehors de notre boucle for afin que nous puissions lui envoyer de nouvelles valeurs. Ensuite, nous devons en fait renvoyer notre nouveau tableau pour pouvoir l’utiliser ailleurs !

Avec ES6 et la méthode map, nous pouvons faire abstraction d’une partie de cette logique pour la rendre plus lisible :< /p>

La particularité de la méthode map ainsi que d’autres méthodes de tableau comme celle-ci, la fonction de réduction et de filtrage en particulier, est que vous pouvez l’affecter à une variable et la renvoyer ou simplement renvoyer le toute la fonction tout à fait ! Aucun push n’est nécessaire vers une nouvelle baie ‚Äì c’est fait pour vous avec cette méthode de carte. N’oubliez pas d’avoir une valeur de retour dans la logique à l’intérieur de votre fonction de rappel de méthode de carte !

Conclusion :

Les fonctions d’ordre supérieur sont un concept extrêmement important dans JavaScript pour vous aider à devenir un meilleur développeur. Cela vous aidera à éliminer une partie de la logique pour rendre votre code plus lisible , et, dans certains cas, plus performant.

Dans ce didacticiel, nous avons exploré certaines des différentes manières d’écrire des fonctions d’ordre supérieur, des méthodes de calcul de base aux écouteurs d’événements et aux fonctions de tableau avancées. Une fois que vous avez maaîtrisé cela, vous êtes prêt à vous attaquer à des solutions plus complexes aux problèmes !

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