在Javascript中迭代对象键

时间:2016-10-03 01:55:42

标签: javascript javascript-objects simplecart

拥有这样的对象:

var cart= "";
for (var i=1; i<= req.body.itemCount;i++){
    cart += req.body.item_name_+i+
        " "+req.body.item_price_+i;       
}

只获得项目名称的键/值对的最佳方法是什么?我会尝试这样的东西,但当然它不起作用:

{{1}}

提前致谢!

3 个答案:

答案 0 :(得分:2)

而不是

req.body.item_name_+i

这将有效:

req.body["item_name_" + i]

但是,如果可以,我强烈建议您重新考虑您的方法,并将您的数据重构为:

req.body = {
    currency : "USD",
    items: [
        { name: "something", price: "something else" },
        { name: "something", price: "something else" },
        { name: "something", price: "something else" }
    ],
    address: "some address"   
}

答案 1 :(得分:0)

没有检查过,所以可能需要弄乱它,但我相信它会是这样的:

req.body["item_name_" + i]

req.body["item_price_" + i]

答案 2 :(得分:-1)

如果要根据字符串文字或字符串从Object中获取值,则需要使用[]表示[]之间的值为字符串。您可以通过+运算符从字符串文字和变量构建字符串。将字符串连接更改为:

cart += req.body["item_name_" + i] 
        + " " 
        + req.body["item_price_" + i];