javascript - 从对象数组生成特定对象
问题描述
我有一个像这样的数组,
var result = [
{
"sItem" : [
"Pizza Margherita","Pizza marinara"
],
"sImage" : [
"https://assets.marthastewart.com/styles/wmax-300/d31/pizza-margherita-0606-mla102155/pizza-margherita-0606-mla102155_vert.jpg","https://www.silviocicchi.com/pizzachef/wp-content/uploads/2015/02/m-evid-672x372.jpg"
],
"nQuantity" : 1,
"eDeliveryStatus" : "n",
"nPrice" : 215,
"sReceiptId" : "pRjZpGzIDPpX",
}
];
想要像对象一样,我正在通过标题数组推送数据运行一个循环。
[
{
"title":"Pizza Margherita",
"subtitle":"Pizza Margherita",
"quantity":1,
"price":215,
"currency":"INR",
"image_url":"https://images.mcdelivery.co.in/hardcastle-restaurants-pvt-ltd/image/upload/q_auto:low,fl_lossy,w_300/v1484907263/Items/2754.png"
},
{
"title":"Pizza marinara",
"subtitle":"Pizza marinara",
"quantity":1,
"price":215,
"currency":"INR",
"image_url":"https://www.silviocicchi.com/pizzachef/wp-content/uploads/2015/02/m-evid-672x372.jpg"
}
]
这就是我尝试但失败的方式:(,
result.forEach(el => {
el.sItem.forEach(el2 => {
elementRec.push({
"title": el2,
"subtitle": el2,
"quantity": el.nQuantity,
"price": el.nPrice,
"currency": "INR",
"image_url": el.sImage
})
});
})
我知道这是错误的,但对 Javascript 来说是新的。
解决方案
你快到了。
在你身上forEach
,添加一个index
参数并使用它从sImage
数组中检索正确的图像:
el.sItem.forEach((el2, index) => {
elementRec.push({
"title": el2,
"subtitle": el2,
"quantity": el.nQuantity,
"price": el.nPrice,
"currency": "INR",
"image_url": el.sImage[index]
})
});
var result = [
{
"sItem" : [
"Pizza Margherita",
"Pizza marinara"
],
"sImage" : [
"https://assets.marthastewart.com/styles/wmax-300/d31/pizza-margherita-0606-mla102155/pizza-margherita-0606-mla102155_vert.jpg",
"https://www.silviocicchi.com/pizzachef/wp-content/uploads/2015/02/m-evid-672x372.jpg"
],
"nQuantity" : 1,
"eDeliveryStatus" : "n",
"nPrice" : 215,
"sReceiptId" : "pRjZpGzIDPpX",
}
];
var elementRec = [];
result.forEach(el => {
el.sItem.forEach((el2, index) => {
elementRec.push({
"title": el2,
"subtitle": el2,
"quantity": el.nQuantity,
"price": el.nPrice,
"currency": "INR",
"image_url": el.sImage[index]
})
});
});
console.log(elementRec);
推荐阅读
- python - 加载包列表时出错:请求失败,状态码为 404
- c++ - 具有多个用户输入的数组的模板类
- operating-system - 页面替换策略如何适用于具有 TLB 的系统?
- coldfusion - 以正确的方式进行coldfusion 11循环
- python - 如何在嵌套 for 循环的最终迭代后点击返回按钮?(硒)
- html - 是否应该修改视口元标记以避免智能手机应用小缩放?
- c - C:我该如何解决这个问题,以便我可以使用函数中的参数?
- c# - 如何注册 ServiceBusClient 以进行依赖注入?
- typescript - 如何强制 Set 对象包含枚举中的所有值 - TS
- r - 尝试从多个数据集创建单个矩阵时如何修复 mutate 错误