遍历 Javascript 中的对象键

Iterate through Object keys in Javascript

有这样的对象:

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     
}

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

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

提前致谢!

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

req.body["item_name_" + i]

req.body["item_price_" + i]

而不是

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"   
}

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

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