scrimba
Practical math
Shopping Cart - Calculate Total / Apply Tax Rate
Go Pro!Bootcamp

Bootcamp

Study group

Collaborate with peers in your dedicated #study-group channel.

Code reviews

Submit projects for review using the /review command in your #code-reviews channel

Shopping Cart - Calculate Total / Apply Tax Rate
AboutCommentsNotes
Shopping Cart - Calculate Total / Apply Tax Rate
Expand for more info
index.js
run
preview
console
function roll(min, max, floatFlag) {
let r = Math.random() * (max - min) + min
return floatFlag ? r : Math.floor(r)
}

let possibleProducts = ["πŸ‡", "🍈", "πŸ‰", "🍊", "πŸ‹", "🍌", "🍍", "πŸ₯­", "🍎", "🍏", "🍐", "πŸ‘", "πŸ’", "πŸ“", "πŸ₯", "πŸ…", "πŸ₯₯", "πŸ₯‘", "πŸ†", "πŸ₯”", "πŸ₯•", "🌽", "🌢", "πŸ₯’", "πŸ₯¬", "πŸ₯¦"]

let products = [...Array(5)].map((_, i) => {
return {
index: i,
title: possibleProducts[roll(0, possibleProducts.length)],
price: roll(2, 10, 1).toFixed(2),
count: roll(1, 6)
}
})

// Calculate the Cart Total using .reduce


// roll() for a random Tax Rate between 5% and 9%
// rounding to the nearest 10th


// Apply that Tax Rate to the Cart Total




let cart = document.getElementById("Products")
let cartHtml = ''
products.forEach(product => {
cartHtml += `<div class="product">
<div>${product.title}</div>
<div>πŸ’²${product.price}</div>
<div>x${product.count}</div>
</div>`
})
cart.innerHTML = cartHtml

let summary = document.getElementById("Summary")
let summaryHtml = ''
// summaryHtml += `<div>Total: πŸ’²${cartTotal.toFixed(2)}</div>`
// summaryHtml += `<div>Tax Rate: ${taxRate}%</div>`
// summaryHtml += `<div>Taxed Total: πŸ’²${taxedTotal}</div>`
summary.innerHTML = summaryHtml
Console
/index.html
-3:42