JavaScript est un langage de programmation orienté objet dynamique de haut niveau, largement utilisé dans le développement Web, les applications mobiles et les applications de bureau. Parmi elles, each loop est l’une des méthodes de boucle les plus couramment utilisées en JavaScript et possède une gamme d’applications extrêmement large.
Qu'est-ce que chacun ?
each est une méthode de boucle spécialement conçue pour parcourir les données d'un tableau ou d'un objet. Il est utilisé comme itérateur, ce qui simplifie l'écriture des boucles et rend le code plus facile à lire et à comprendre.
En JavaScript, chacun peut utiliser des méthodes fournies par différentes bibliothèques ou frameworks, par exemple $.each() de jQuery, _.each() de Underscore.js et _.forEach() de Lodash, etc. Cet article utilisera chaque méthode de Lodash comme exemple pour expliquer.
Comment utiliser chacun ?
Pour les tableaux :
Avant d'utiliser chaque méthode fournie par chaque bibliothèque, nous devons référencer la bibliothèque ou le framework avant de pouvoir utiliser les méthodes qu'il contient. Dans Lodash, nous pouvons utiliser la méthode suivante pour introduire la méthode each :
const _ = require('lodash');
Ensuite, nous pouvons utiliser la méthode _.each() pour parcourir le tableau, le code est le suivant :
let arr = ['apple', 'banana', 'pear']; _.each(arr, function(fruit) { console.log(fruit); });
Dans le code ci-dessus, nous parcourez un tableau arr , puis utilisez une fonction anonyme comme fonction de rappel pour afficher la valeur de chaque élément sur la console.
Dans cet exemple, nous utilisons une fonction anonyme pour imprimer chaque fruit. Mais nous pouvons également utiliser une manière d’écrire plus simple pour gérer l’exemple ci-dessus. Par exemple, on peut utiliser des fonctions fléchées pour remplacer les fonctions anonymes traditionnelles :
_.each(arr, fruit => console.log(fruit));
Cette méthode est plus concise et plus facile à lire, et elle est également très adaptée à la simplification de fonctions anonymes avec une seule ligne de code.
Pour les objets :
Lorsque nous utilisons each pour parcourir des objets, nous devons modifier les paramètres dans chaque méthode, par exemple :
let obj = {name: 'Tom', age: 18}; _.each(obj, function(value, key) { console.log(key + ': ' + value); });
Dans le code ci-dessus, nous utilisons un objet obj et le parcourons via la méthode each, et Les paires clé-valeur de l'objet sont affichées sur la console. La clé et la valeur de chaque objet seront transmises respectivement à la fonction de rappel en tant que paramètres.
valueOf
Pour la méthode _.each() de Lodash, il existe une autre méthode qui est différente de la logique de traitement par élément par défaut, qui est la méthode valueOf(). Si nous utilisons la méthode valueOf(), la fonction de rappel précise que le premier paramètre est toujours passé dans la valeur renvoyée par valueOf(). Par exemple :
let obj = {name: 'Tom', age: 18}; _.each(obj, function(value, key) { console.log(value); }, function() { return this.age; }.valueOf());
Dans le code ci-dessus, nous utilisons la méthode valueOf() et renvoyons l'âge de l'objet dans la fonction de rappel. Par conséquent, sur la console, seul l'âge de 18 ans de l'objet est affiché.
Résumé :
A travers les exemples ci-dessus, nous pouvons voir que la boucle each est très courante et pratique en JavaScript. Il peut traverser tous les types de structures de données et, par rapport à la boucle for traditionnelle, il présente les avantages d'être plus concis, plus facile à lire et à écrire. Plus important encore, il est largement utilisé dans la plupart des bibliothèques ou frameworks JavaScript, ce qui rend le code plus standardisé et plus facile à maintenir et à étendre.
Bien que différentes bibliothèques ou frameworks JavaScript implémentent chaque méthode et paramètres légèrement différemment, en général, leur objectif et leur fonction sont cohérents. Par conséquent, dans les applications pratiques, nous pouvons choisir de manière flexible en fonction des besoins du projet et des habitudes de l'équipe.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!