Quelle est la différence entre les méthodes foreach et map en JavaScript?
sobes.tech IA
Réponse de l'IA
forEach parcourt les éléments du tableau et exécute une fonction de rappel pour chaque élément, mais ne crée pas un nouveau tableau. Il est utilisé pour des effets secondaires, comme l'affichage dans la console ou la modification de variables externes.
map parcourt également les éléments du tableau et exécute une fonction de rappel pour chaque élément. Cependant, il retourne un nouveau tableau contenant les résultats de l'exécution de cette fonction sur chaque élément. Il est utilisé pour transformer un tableau en un autre.
Exemple avec forEach :
const numbers = [1, 2, 3];
numbers.forEach(number => console.log(number * 2));
// Résultat :
// 2
// 4
// 6
// numbers reste [1, 2, 3]
Exemple avec map :
const numbers = [1, 2, 3];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers);
// Résultat : [2, 4, 6]
// numbers reste [1, 2, 3]
La différence clé est que map est une méthode "fonctionnelle" qui ne modifie pas le tableau d'origine et en retourne un nouveau, tandis que forEach est principalement destiné à effectuer des actions sur chaque élément sans retourner un nouveau tableau.
| Critère | forEach |
map |
|---|---|---|
| Valeur de retour | undefined |
Nouveau tableau |
| Modification du tableau | Ne crée pas un nouveau tableau | Crée un nouveau tableau |
| Objectif principal | Effectuer des actions sur chaque élément | Transformer un tableau en un autre |
| Chaînage de méthodes | Pas supporté naturellement | Supporté (retourne un tableau) |