MODULE R06 — EXERCICES

Exercices Listes & Keys

10 exercices pour maîtriser map(), key, filter(), sort() et les listes dynamiques.

EX 1

Rendre une liste avec .map()

Tâche : Affichez un tableau de fruits dans une <ul> avec .map() et la prop key.

EX 2

key stable (pas l'index)

Tâche : Utilisez p.id comme key — pas l'index du tableau — pour une liste de produits.

EX 3

Filtrer avec .filter()

Tâche : Créez une barre de recherche qui filtre la liste d'utilisateurs avec .filter() en temps réel.

EX 4

Trier avec .sort()

Tâche : Ajoutez un <select> pour trier la liste par nom ou par âge — utilisez [...arr].sort() pour ne pas muter le state.

EX 5

Supprimer un élément

Tâche : Ajoutez un bouton "×" sur chaque élément qui le supprime avec .filter(i => i.id !== id).

EX 6

Modifier un élément

Tâche : Implémentez un toggle qui coche/décoche chaque tâche avec .map(t => t.id === id ? {{ ...t, done: !t.done }} : t).

EX 7

map() + filter() combinés

Tâche : Filtrez la liste par technologie ET par statut (actifs seulement), puis affichez avec .map() + key.

EX 8

Liste imbriquée

Tâche : Affichez des catégories avec leurs items imbriqués — .map() externe pour les catégories, .map() interne pour les items.

EX 9

Filtrage + tri combinés

Tâche : Chaînez .filter() + .sort() sur un tableau de cours, avec deux contrôles indépendants dans le state.

EX 10

Catalogue complet

Tâche finale : Catalogue de produits avec recherche, filtre catégorie, filtre disponibilité, panier — filter() + map() + key + useState.

🧠 Prêt pour le QCM ? — 10 questions sur les listes et keys.
Passer le QCM R06
← Cours R06 ▶ Mini-projet Suivant : Context →