Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente | |||
| cnam:utc503:td3-c [2025/10/21 11:30] – [Données de départ] jcheron | cnam:utc503:td3-c [2025/10/21 11:36] (Version actuelle) – jcheron | ||
|---|---|---|---|
| Ligne 35: | Ligne 35: | ||
| * Ne jamais modifier les tableaux originaux | * Ne jamais modifier les tableaux originaux | ||
| * Privilégier map, filter, reduce | * Privilégier map, filter, reduce | ||
| + | |||
| + | ===== 2 - Playlist Fonctionnelle ===== | ||
| + | |||
| + | Gérez une playlist musicale en programmation fonctionnelle. | ||
| + | |||
| + | ==== Données de départ ==== | ||
| + | <sxh js> | ||
| + | const chansons = [ | ||
| + | { titre: ' | ||
| + | { titre: ' | ||
| + | { titre: ' | ||
| + | { titre: 'One More Time', artiste: 'Daft Punk', duree: 320, genre: ' | ||
| + | { titre: ' | ||
| + | { titre: 'Get Lucky', | ||
| + | ] | ||
| + | </ | ||
| + | |||
| + | ==== Objectifs ==== | ||
| + | === Filtrer la playlist : === | ||
| + | * Garder seulement les morceaux de rock | ||
| + | * Garder les chansons de moins de 5 minutes (300 secondes) | ||
| + | * Garder les chansons des années 90 (1990-1999) | ||
| + | === Transformer les données avec map : === | ||
| + | * Convertir la durée en format " | ||
| + | * Créer un nouveau tableau avec seulement {titre, artiste} | ||
| + | * Ajouter une propriété label : "titre - artiste" | ||
| + | |||
| + | === Calculer avec reduce : === | ||
| + | * La durée totale de la playlist (en minutes) | ||
| + | * Le nombre de chansons par genre | ||
| + | * L' | ||
| + | === Composer des fonctions : === | ||
| + | * Créer une fonction qui filtre par genre ET trie par année | ||
| + | * Créer une " | ||
| + | |||
| + | |||
| + | |||
| + | ==== Contraintes ==== | ||
| + | |||
| + | * Utiliser uniquement des fonctions pures | ||
| + | * Ne jamais modifier le tableau original | ||
| + | * Privilégier map, filter, reduce, sort | ||
| + | * Pas de boucles for / while | ||
| + | * Pas de variables réassignées (let) | ||