Array Methods

JavaScript 🟢 Junior

Dé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

Utiliser forEach pour construire un nouveau tableau au lieu de map.
#core#fondamental#interview

En entretien

  1. 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.

  2. 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.

  3. 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

← → au clavier pour passer d'une fiche à l'autre