遍历 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];
有这样的对象:
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];