Maison > interface Web > js tutoriel > le corps du texte

Pouvez-vous modifier les éléments du tableau en JavaScript pendant l'itération ?

Patricia Arquette
Libérer: 2024-11-09 11:06:02
original
142 Les gens l'ont consulté

Can You Modify Array Elements in JavaScript During Iteration?

Éléments de tableau mutables pendant l'itération

En JavaScript, les tableaux sont immuables, ce qui signifie que leurs éléments ne peuvent pas être directement modifiés dans les itérations de boucle.

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

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

alert(arr);
Copier après la connexion

Cependant, ce code affichera toujours ["one", "two", "trois"] car part est une variable locale dans la fonction de rappel qui ne modifie pas directement le array.

Modification du tableau avec Index et this

Pour modifier les éléments du tableau lors de l'itération, accédez-y à l'aide de l'index de l'élément ou de l'objet this :

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

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

Dans le deuxième exemple, arr est spécifié comme valeur this de la fonction de rappel. Ainsi, this[index] fait référence à l'élément du tableau.

Fonctions alternatives de manipulation de tableaux

Au lieu de forEach, envisagez d'utiliser d'autres fonctions qui modifient les tableaux de manière plus directe :

  • filtre : Créez un nouveau tableau avec des éléments qui répondent à un condition.
  • map : Créez un nouveau tableau en transformant chaque élément d'un tableau existant.
  • reduce : Combinez des éléments en une seule valeur.

Ces fonctions fournissent des mécanismes efficaces pour manipuler des tableaux sans avoir besoin de modifier directement les éléments pendant l'itération.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal