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
- 10 autres exercices corrigés dans ce chapitre
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.