Maison >interface Web >js tutoriel >Comment modifier les éléments d'un tableau dans une boucle JavaScript « forEach » ?

Comment modifier les éléments d'un tableau dans une boucle JavaScript « forEach » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-08 18:06:02820parcourir

How to Modify Array Elements Inside a JavaScript `forEach` Loop?

Modification des éléments d'un tableau lors d'une boucle forEach

En JavaScript, lors d'une itération sur un tableau à l'aide de la méthode forEach, il peut être frustrant de se rendre compte que les modifications apportées aux éléments individuels dans la boucle ne sont pas reflétées dans le tableau d'origine. En effet, forEach transmet une copie de l'élément à la fonction de rappel, et non une référence à l'élément réel.

Pour activer l'accès en écriture aux éléments du tableau à partir de la fonction d'itération, il existe deux options :

Option 1 : Fournir un tableau comme troisième argument

La méthode forEach prend un troisième argument facultatif, qui représente le tableau lui-même. En attribuant une nouvelle valeur à l'index correspondant du tableau dans le rappel, le tableau d'origine sera modifié.

arr.forEach(function(part, index, theArray) {
  theArray[index] = "hello world";
});

Option 2 : utiliser une fonction fléchée avec lié à ceci

Une autre façon d'obtenir le comportement souhaité consiste à utiliser une fonction de flèche comme rappel et à fournir le tableau comme this contexte :

arr.forEach(function(part, index) {
  this[index] = "hello world";
}, arr); // use arr as this

En configurant le tableau comme ceci dans le rappel, les modifications apportées à l'élément seront directement appliquées au tableau d'origine.

Considérations supplémentaires :

  • Les techniques ci-dessus ne fonctionnent pas si vous utilisez une fonction régulière (déclaration ou expression de fonction) comme rappel.
  • Si vous avez l'intention de modifier la longueur du tableau pendant la boucle, vous devez utiliser la boucle for traditionnelle au lieu de forEach pour éviter des conséquences inattendues.
  • Connaissance des autres méthodes d'itération du tableau (filtre , carte, etc.) est bénéfique pour choisir l'outil le plus approprié pour chaque tâche.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn