我正在创建一个模拟购物车,但更新购物车的功能遇到了一些问题。当用户向购物车添加商品时,商品名称和所需的数量将存储在 sessionStorage
对象中。 updateCart()
函数使用此对象中的数据。
我正在尝试:
1. 循环sessionStorage
对象并获取商品名称和数量
2. 将每件商品的数量乘以价格
3. 将所有项目总计加起来为一个总计
第三部分很棘手。
HTML
<div id="Burger">6.50</div>
<div id="Cheeseburger">7.50</div>
<div id="Hotdog">4.00</div>
sessionStorage对象
{
"Burger" : "2",
"Cheeseburger" : "3",
"Hotdog" : "1"
}
JavaScript
function updateCart() {
var storage = window.sessionStorage;
var sumtotal = 0;
for ( var i in storage ) {
var item = new Object();
item.name = i;
item.quantity = parseFloat( storage[i] );
item.price = parseFloat( $("#" + item.name).text() );
item.total = item.price * item.quantity;
sumtotal = parseFloat( sumtotal + item.total );
console.log(sumtotal);
}
}
似乎无法使总计/总和发挥作用。帮忙?
最佳答案
就是这一行:
sumtotal = parseFloat( sumtotal + item.total );
应该是:
sumtotal += parseFloat( item.total );
现在您只能获得 item.total
的最后一个值。
关于javascript - 尝试将对象中多个键的值相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13650889/