Maison > interface Web > js tutoriel > Pouvez-vous modifier les valeurs du tableau tout en utilisant « forEach » en JavaScript ?

Pouvez-vous modifier les valeurs du tableau tout en utilisant « forEach » en JavaScript ?

DDD
Libérer: 2024-11-09 04:58:02
original
398 Les gens l'ont consulté

Can You Modify Array Values While Using `forEach` in JavaScript?

Modification des valeurs d'un tableau lors d'une itération avec forEach

En JavaScript, la méthode forEach vous permet de parcourir les éléments d'un tableau. Cependant, par défaut, vous ne pouvez pas modifier les valeurs du tableau dans la fonction de rappel d'itération.

Considérez l'exemple suivant :

var arr = ["one", "two", "three"];

arr.forEach(function(part) {
  part = "four";
  return "four";
});

alert(arr); // Output: ["one", "two", "three"]
Copier après la connexion

Comme vous pouvez le voir, l'arr du tableau reste inchangé après le forEach boucle. En effet, la fonction de rappel forEach ne reçoit qu'une copie de l'élément du tableau, pas une référence à l'élément réel.

Solution : accéder à l'élément réel

Pour modifier les valeurs du tableau pendant l'itération, vous devez accéder aux éléments réels. Vous pouvez le faire en passant à la fonction de rappel un troisième paramètre, qui sera un pointeur de tableau, comme vu ci-dessous :

arr.forEach(function(part, index, theArray) {
  theArray[index] = "hello world";
});
Copier après la connexion

Dans cet exemple, theArray est le pointeur de tableau. Vous pouvez l'utiliser pour accéder et modifier l'élément réel à l'index actuel.

En utilisant ceci comme pointeur de tableau

Vous pouvez également utiliser le deuxième argument de la méthode forEach pour spécifier cette valeur pour la fonction de rappel. Cette valeur sera le pointeur du tableau lui-même.

arr.forEach(function(part, index) {
  this[index] = "hello world";
}, arr); // Array must be passed as `this`
Copier après la connexion

Les deux approches vous permettent de modifier les valeurs du tableau tout en le parcourant à l'aide de la méthode forEach.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal