I followed a tutorial to make a shopping cart that uses localstorage. Now I'm trying to make adjustments to it to fit my own needs to expand my knowledge of JavaScript and to give myself more practice. The instructor made a div for each of the individual item totals (i.e. 4 bananas at $0.25 is $1.00), but I want to add a "Grand Total" section at the bottom of my cart. I am struggling with a way to calculate it. Here is the code for the cart (and at the very bottom is the code that I'm adding for the total)
I know how to and where to set up the new div so that it shows up where I want it to, but I can't figure out how to calculate the Grand Total. I know that I need to base it off of the individual cart items and so that would be on the line that sets the "cost" variable but have tried a couple of things and clearly have no idea what I'm doing. Help!
const CART = []
function showCart() {
let cartSection = document.getElementById("cart");
cartSection.innerHTML = "";
let s = CART.sort();
s.forEach(item => {
let cartitem = document.createElement("div");
cartitem.className = "cart-item";
let title = document.createElement("h3");
title.textContent = item.title;
title.className = "title";
cartitem.appendChild(title);
let controls = document.createElement("div");
controls.className = "controls";
cartitem.appendChild(controls);
let plus = document.createElement("span");
plus.textContent = "+";
plus.setAttribute("data-id", item.id);
controls.appendChild(plus);
plus.addEventListener("click", incrementCart);
let qty = document.createElement("span");
qty.textContent = item.qty;
controls.appendChild(qty);
let minus = document.createElement("span");
minus.textContent = "-";
minus.setAttribute("data-id", item.id);
controls.appendChild(minus);
minus.addEventListener("click", decrementCart);
let price = document.createElement("div");
price.className = "price";
let cost = new Intl.NumberFormat("en-CA", {
style: "currency",
currency: "CAD"
}).format(item.qty * item.itemPrice);
price.textContent = cost;
cartitem.appendChild(price);
cartSection.appendChild(cartitem);
});
let total = document.createElement("div");
total.className = "total";
// Insert "grandTotal" code here.
const grandTotal = 0
total.textContent = grandTotal;
cartSection.appendChild(total);
}
showCart()
<div id="cart"></div>