Adloun

JavaScript : rendre le Web interactif (école d'ingénieur) · Chapitre 5 · Exercice de TD

Regrouper sans groupBy

Tableaux et objets · niveau 2

Énoncé

Réécrire le regroupement par rayon de la dernière section avec reduce, sans Object.groupBy : le résultat est un objet dont chaque propriété (un rayon) contient le tableau des titres de ce rayon.

Corrigé


const livres = [
  { titre: "Programmation Java", rayon: "Informatique" },
  { titre: "Analyse MPSI", rayon: "Mathématiques" },
  { titre: "Introduction à l’algorithmique", rayon: "Informatique" },
];

const parRayon = livres.reduce((groupes, livre) => {
  (groupes[livre.rayon] ??= []).push(livre.titre);
  return groupes;
}, {});
console.log(parRayon);

{
  Informatique: [ 'Programmation Java', 'Introduction à l’algorithmique' ],
  'Mathématiques': [ 'Analyse MPSI' ]
}

groupes[livre.rayon] ??= [] crée le tableau du rayon s'il n'existe pas encore (l'affectation ??= n'agit que si la valeur est null ou undefined) et rend ce tableau, sur lequel on fait push. La fonction doit rendre l'accumulateur. Node écrit 'Mathématiques' entre apostrophes parce que le nom contient une lettre accentuée ; c'est la même propriété.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →