JavaScript : rendre le Web interactif (école d'ingénieur) · Chapitre 5 · Application directe du cours
Total d'un panier
Tableaux et objets · niveau 1 (application)
Énoncé
Un panier est un tableau de lignes { prix, quantite }. Écrire une fonction total(panier) qui rend le montant à payer : la somme des prix * quantite, diminuée de 5 % si cette somme dépasse 100 €, arrondie au centime. Le panier vide doit donner 0. Tester avec trois lignes de Petit Prince (8,50 €) et une de L'Étranger (7,90 €), puis avec une Introduction à l'algorithmique (89 €) et une Programmation Java (32 €).
Corrigé
// Total d'un panier : 5 % de remise sur le montant dès que celui-ci dépasse 100 €,
// résultat arrondi au centime.
export function total(panier) {
const brut = panier.reduce((somme, ligne) => somme + ligne.prix * ligne.quantite, 0);
const net = brut > 100 ? brut * 0.95 : brut;
return Math.round(net * 100) / 100;
}
console.log(total([]));
console.log(total([{ prix: 8.5, quantite: 3 }, { prix: 7.9, quantite: 1 }]));
console.log(total([{ prix: 89, quantite: 1 }, { prix: 32, quantite: 1 }]));
0
33.4
114.95
Second panier : , donc . L'arrondi Math.round(x * 100) / 100 protège contre les décimales parasites des flottants (chapitre 2). La valeur initiale 0 de reduce traite le panier vide.
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.