Javascript 对象数组中的双副本计数
我有一个数组。如何按类型、名称、大小和增量查找副本。 增加数量后,删除相同的Javascript 对象数组中的双副本计数,javascript,arrays,json,Javascript,Arrays,Json,我有一个数组。如何按类型、名称、大小和增量查找副本。 增加数量后,删除相同的 [ { "name": "Pizza with pepper", "imageUrl": "...", "type": 0, "size": 26, "price": "803&quo
[
{
"name": "Pizza with pepper",
"imageUrl": "...",
"type": 0,
"size": 26,
"price": "803",
"amount": 1
},
{
"name": "Pizza with pepper",
"imageUrl": "...",
"type": 1,
"size": 40,
"price": "803",
"amount": 1
},
{
"name": "Peperoni",
"imageUrl": "...",
"type": 0,
"size": 30,
"price": "803",
"amount": 1
},
{
"name": "Peperoni",
"imageUrl": "...",
"type": 0,
"size": 30,
"price": "803",
"amount": 1
}
]
const数据=[
{
“名称”:“胡椒比萨”,
“imageUrl”:“…”,
“类型”:0,
“尺寸”:26,
“价格”:“803”,
“金额”:1
},
{
“名称”:“胡椒比萨”,
“imageUrl”:“…”,
“类型”:1,
“尺寸”:40,
“价格”:“803”,
“金额”:1
},
{
“姓名”:“佩佩罗尼”,
“imageUrl”:“…”,
“类型”:0,
“尺寸”:30,
“价格”:“803”,
“金额”:1
},
{
“姓名”:“佩佩罗尼”,
“imageUrl”:“…”,
“类型”:0,
“尺寸”:30,
“价格”:“803”,
“金额”:1
}
];
const merged=data.reduce((agg,item)=>{
const key=`${item.name}-${item.type}-${item.size}`;
if(agg[键]){
agg[key].amount+=item.amount;
}否则{
agg[键]=项;
}
返回agg;
}, {});
常量结果=对象值(合并);
控制台日志(结果)代码>