Différence entre forEach et for loop en javascript
Je me demande: Est-il une différence significative entre forEach
et for
boucle en JavaScript.
Considérons cet exemple:
var myArray = [1,2,3,4];
myArray.forEach(function(value) {
console.log(value);
});
for (var i = 0; i < myArray.length; i++) {
console.log(myArray[i]);
}
Ici une partie de mes recherches:
- Performance: Selon JsPerf : forEach est peu plus lent que pour la boucle.
- Convivialité: Il n'y a aucun moyen que nous pouvons pause/retour à partir de la fonction de rappel dans le cas de la boucle forEach.
Par exemple: Vous voulez savoir si un nombre est premier ou pas. Je pense que l'utilisation de la boucle est beaucoup plus facile que d'utiliser une boucle forEach pour ce faire.
- Lisibilité: à l'Aide de la boucle rend le code plus lisible que d'avoir forEach dans le code.
- La compatibilité du navigateur: forEach n'est Pas pris en charge dans IE < 9, de Sorte que introduit quelques cale dans notre code.
Mes questions sont:
- Quels sont les avantages de forEach pour la boucle ?
- Dans les scénarios, forEach est plus préférable.
- Pourquoi même en JavaScript ? Pourquoi était-il nécessaire ?
source d'informationauteur sachinjain024
Vous devez vous connecter pour publier un commentaire.
forEach
est une méthode sur laArray
prototype. Il parcourt chaque élément d'un tableau et le passe à une fonction de rappel.Donc, fondamentalement,
forEach
est une méthode abrégée pour les cas d'utilisation "passer chaque élément d'unarray
à unfunction
". En voici un exemple où je penseArray.forEach
est très utile, par rapport à unfor
boucle:Comme vous pouvez le voir, la lisibilité de l'instruction forEach est amélioré par rapport à un
for
boucle.D'autre part, un
for
déclaration est plus souple: il n'implique pas nécessairement un tableau. La performance d'un normalfor
boucle est un peu mieux, car il n'y a pas d'appel de fonction pour chaque élément en cause. En dépit de cela, il est recommandé d'éviterfor
boucles quand il peut être écrit comme uneforEach
déclaration.Dans un
forEach
boucle vous n'avez pas de contrôle sur la façon dont vous itérer sur le tableau. Le classiquefor
boucle vous permet de choisir l'itération de l'algorithme que vous le souhaitez (i++
;i--
;i+=2*i
etc).Cependant, un
forEach
boucle est beaucoup plus facile à utiliser - vous n'avez pas besoin de jouer avec tous lesi
de comptage, de trouver learray[i]
objet -- JS-t-il pour vous.forEach
est un ajout récent à la rendre expressive liste-de la compréhension de style possible en javascript. Ici vous pouvez voir queforEach
ignore les éléments qui n'ont jamais été mismais le meilleur que vous pouvez faire avec unfor
boucle est de vérifier pourundefined
ounull
qui peuvent être définies comme des valeurs et repris parforEach
. Sauf si vous attendez des valeurs manquantes,forEach
est équivalent àfor
boucles, mais notez que vous ne pouvez pas arrêter tôt, pour laquelle vous avez besoin deevery
.