Array Methods
JavaScript 🟢 JuniorDéfinition
Méthodes fonctionnelles : map (transformer), filter (filtrer), reduce (accumuler), find/findIndex (chercher), some/every (tester), flat/flatMap (aplatir). Chainables et non-mutantes.
Analogie
Un pipeline de cuisine : laver (filter), couper (map), mixer (reduce) — chaque étape transforme sans toucher au stock original.
Exemple de code
const result = users
.filter(u => u.active)
.map(u => u.name)
.sort();
const total = prices.reduce((sum, p) => sum + p, 0);
const found = items.find(i => i.id === 42);
Cas d'usage
Transformation de données, filtrage de listes, calculs d'aggregation, recherche.
Anti-pattern
Termes liés
En entretien
C'est quoi map, filter et reduce, à quoi ça sert ?
map transforme chaque élément d'un tableau, filter garde seulement ceux qui passent un test, et reduce accumule tout en une seule valeur. C'est comme un pipeline de cuisine : laver, couper, mixer, chaque étape transforme sans toucher au stock original.
Pourquoi c'est considéré comme un anti-pattern d'utiliser forEach pour construire un nouveau tableau ?
Parce que forEach ne retourne rien et ne sert qu'à faire des effets de bord, alors que map existe justement pour transformer un tableau en un autre de façon chaînable. Utiliser forEach pour ça oblige à créer un tableau vide et à le remplir manuellement, ce qui est moins clair.
Donne-moi un exemple concret où tu chaînerais plusieurs de ces méthodes.
Filtrer les utilisateurs actifs, en extraire les noms, puis les trier, comme dans users.filter(u => u.active).map(u => u.name).sort(). Chaque méthode reste non-mutante, donc le tableau original n'est jamais modifié.
Fiche mise à jour le 2026-09-27