javascript - 尝试将对象中多个键的值相加

标签 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);

    }
}

似乎无法使总计/总和发挥作用。帮忙?

最佳答案

就是这一行:

sumtotal = parseFloat( sumtotal + item.total );

应该是:

sumtotal += parseFloat( item.total );

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

关于javascript - 尝试将对象中多个键的值相加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13650889/

相关文章:

javascript - Angular JS Controller 没有响应

ios - 在 Swift 2.1 中查找数组中的对象

javascript - 如何在jquery中找到容器的剩余总高度?

php - 为什么我的 html/php/ajax 返回查询中的所有行

javascript - 缓慢滚动到一定高度

java - 变量、对象和引用之间有什么区别?

javascript - 将键值对转换为数组javascript

javascript - 使用 jQuery 编写 XML 文件

javascript - 如何从html获取json对象到javascript?

javascript - 在不使用 RegExp 的情况下访问和着色 HTML 表格单元格中的特定文本