Adloun

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

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →