尝试在对象中添加多个键的值

时间:2012-11-30 18:21:12

标签: javascript jquery object javascript-objects

我正在创建一个模拟购物车,我在更新购物车的功能方面遇到了一些麻烦。当用户向购物车添加内容时,项目名称和所需的数量会存储在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);

    }
}

似乎无法获得总额/总额。帮助

2 个答案:

答案 0 :(得分:2)

就是这一行:

sumtotal = parseFloat( sumtotal + item.total );

应该是:

sumtotal += parseFloat( item.total );

现在,您只获得item.total的最后一个值。

答案 1 :(得分:1)

我认为这不是你应该如何使用sessionStorage。相反,您需要创建一个对象 - 例如,称为订单 - 将托管您的数字:

var storage=JSON.parse(sessionStorage.getItem("order"));

请参阅live demo