我有一个名为req.body.items
的数组,该数组始终包含一个或多个项目。而且我必须根据它具有的项目数量来分配一些变量,例如:
for (x in req.body.items.length) {
var width = req.body.items[x].dimensions.width * 100;
var height = req.body.items[x].dimensions.height * 100;
var weight = req.body.items[x].dimensions.weight;
var depth = req.body.items[x].dimensions.depth * 100;
var quantity = req.body.items[x].quantity;
var sku = req.body.items[x].sku;
};
问题是我将具有与项目一样多的“宽度”,因此,如果我有3个项目,则必须具有3个宽度。而且我不知道该怎么做。我已经搜索过了,但是我只在Javascript中找到了前端,我需要它来创建API。
可能就像var width0, var width1, var width2, etc
。
答案 0 :(得分:1)
let req={
body: {
items: [
{
dimensions: {
width: 1,
height:3,
weight:4,
quantity:7
}
},
{
dimensions: {
width: 5,
height:2,
weight:6,
quantity:8
}
}
]
}
}
let dimensions = req.body.items.reduce((result,item)=>{
Object.entries(item.dimensions).map(([key,value])=>(!!result[key] ? result[key]=[...result[key], value*100]: result[key]=[value*100]));
return result;
},{});
console.log(dimensions);
答案 1 :(得分:0)
我相信您需要这样的东西:
var width = [];
var height = [];
var weight = [];
var depth = [];
var quantity = [];
var sku = [];
for (let x in req.body.items.length) {
width.push(req.body.items[x].dimensions.width * 100);
height.push(req.body.items[x].dimensions.height * 100);
weight.push(req.body.items[x].dimensions.weight);
depth.push(req.body.items[x].dimensions.depth * 100);
quantity.push(req.body.items[x].quantity);
sku.push(req.body.items[x].sku);
};
现在,width
,height
...正在arrays
确认您的数据。