我有这个变量,我需要填写使用请求正文
var orderItem = {
userPurchased: body.userPurchased,
products:[{
product: body.products.product,
size: body.products.size,
quantity: body.products.quantity,
subTotal: body.products.subTotal
}],
totalQuantity: body.totalQuantity,
totalPrice: body.totalPrice,
otherShipAd: body.otherShipAd,
modeOfPayment: body.modeOfPayment
};
这是我的请求正文。
这里的问题是请求体是一个对象数组,如果我以我在顶部显示的方式访问它,它将是未定义的。如果我将数组的数量设置为body.products.product [0],则所有记录都是相同的。
有人能告诉我如何迭代所有产品并将其放入变量中吗?
答案 0 :(得分:1)
我不确定我是否了解您的困境,但是您的目标对象似乎与您的来源似乎有完全相同的架构,为什么不是您将该值分配给var?
var orderItem = request.body;
让我们说你还有一些理由需要从request.body创建数组副本吗?这仍然只是将request.body数组分配给目标变量的一行:
var orderItem = {
userPurchased: body.userPurchased,
products: body.products,
totalQuantity: body.totalQuantity,
totalPrice: body.totalPrice,
otherShipAd: body.otherShipAd,
modeOfPayment: body.modeOfPayment
};
答案 1 :(得分:0)
根据您的控制台响应
你应该使用:
var product;
for(var i=0; i< body.products.length;i++)
{ product = [];
product[product] =body.products[i].product[0];
// set all properties
}
orderItem.products.push(product);