0

有这样的对象:

req.body = {
    currency : "USD",
    item_name_1: "something",
    item_price_1: "something else",
    item_name_2: "something",
    item_price_2: "something else",
    item_name_3: "something",
    item_price_3: "something else",
    address: "some address"   
    itemCount: 3     
}

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

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

提前致谢!

4

3 回答 3

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"   
}
于 2016-10-03T02:00:53.100 回答
0

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

req.body["item_name_" + i]

req.body["item_price_" + i]
于 2016-10-03T01:59:07.923 回答
-1

如果要基于字符串文字或字符串从对象中获取值,则需要使用[]符号,其中两者之间的值[]是字符串。您可以通过运算符从字符串文字和变量构建字符串+。将您的字符串连接更改为:

cart += req.body["item_name_" + i] 
        + " " 
        + req.body["item_price_" + i];    
于 2016-10-03T02:01:54.553 回答