Maison >interface Web >js tutoriel >Quelle est la principale différence entre les méthodes JavaScript « forEach() » et « map() » ?

Quelle est la principale différence entre les méthodes JavaScript « forEach() » et « map() » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-20 05:38:13429parcourir

What's the Key Difference Between JavaScript's `forEach()` and `map()` Methods?

Comprendre les différences entre .forEach() et .map() en JavaScript

Au-delà de la distinction principale sur laquelle .forEach() opère le tableau d'origine tandis que .map() crée un nouveau tableau, il y a des nuances à prendre en compte. Ceci est illustré dans le code fourni :

function practice(i) {
  return i + 1;
}

var a = [-1, 0, 1, 2, 3, 4, 5];
var b = [0];
var c = [0];
console.log(a);
b = a.forEach(practice);
console.log("=====");
console.log(a);
console.log(b);
c = a.map(practice);
console.log("=====");
console.log(a);
console.log(c);

Sortie :

[-1, 0, 1, 2, 3, 4, 5]
=====
[-1, 0, 1, 2, 3, 4, 5]
undefined
=====
[-1, 0, 1, 2, 3, 4, 5]
[0, 1, 2, 3, 4, 5, 6]

Explication :

  • forEach() : Cette méthode parcourt chaque élément du tableau, mais elle ne renvoie pas de valeur. Dans l'exemple, a.forEach(practice) exécute la fonction d'entraînement sur chaque élément de « a », mais le résultat (non défini) n'est pas affecté à « b ». Par conséquent, 'b' reste inchangé.
  • map(): Cette méthode crée un nouveau tableau en transformant chaque élément du tableau d'origine. Dans l'exemple, a.map(practice) applique la fonction pratique à chaque élément de « a » et renvoie un nouveau tableau « c » avec les valeurs transformées.

Différences clés :

  • Valeur de retour : forEach() ne renvoie rien, tandis que map() crée un nouveau array.
  • Opération : forEach() itère et exécute des effets secondaires, tandis que map() itère et se transforme.
  • Effets secondaires : forEach( ) peut muter le tableau d'origine via la fonction de rappel, tandis que map() transforme uniquement le valeurs.

Comprendre ces différences est crucial lors du choix de la méthode appropriée pour la manipulation de tableaux en JavaScript.

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