Les langages JavaScript Tableaux et objets
Transformer des tableaux
Ces méthodes reçoivent une fonction qu'elles appliquent à chaque élément,
et ne modifient pas le tableau d'origine (sauf sort).
const prix = [10, 25, 8];
prix.map((p) => p * 2); // [20, 50, 16] : transformer chaque élément
prix.filter((p) => p > 9); // [10, 25] : garder ceux qui passent le test
prix.find((p) => p > 9); // 10 : le PREMIER qui passe
prix.some((p) => p > 20); // true : au moins un ?
prix.every((p) => p > 5); // true : tous ?
prix.reduce((total, p) => total + p, 0); // 43 : tout combiner en une valeur
reduce part de la valeur initiale (0) et la fait évoluer élément par
élément.
Trier
["kiwi", "abricot", "mangue"].sort(); // ordre alphabétique
[10, 9, 100].sort(); // [10, 100, 9] : trié comme du TEXTE !
[10, 9, 100].sort((a, b) => a - b); // [9, 10, 100]
Sans fonction, sort compare des textes, caractère par caractère : les
lettres accentuées passent après le z. Pour des nombres, on fournit la
comparaison ; pour du texte en français, a.localeCompare(b) respecte
l'ordre du dictionnaire.
sort modifie le tableau lui-même ; [...t].sort() trie une copie.
Enchaîner
const total = panier
.filter((article) => article.disponible)
.map((article) => article.prix)
.reduce((a, b) => a + b, 0);
2 exercices pour cette lecon
Les exercices demandent un compte : il faut bien enregistrer votre progression quelque part. La lecture, elle, reste libre. Creer un compte
-
Le total du panier moyen lecon a valider
-
Les produits en stock moyen lecon a valider