javascript - 将数组中的重复对象合并到一个对象中,该对象包含每个对象的出现次数
问题描述
我有一个包含产品列表的数组,每个产品都有两个数组:一个补充剂和一个选项。我想将重复的产品合并到一个新数组中的一个对象中,并且我希望该对象包含新字段,即每个产品的数量(出现次数)。重复产品是具有相同名称、补充和选项的产品。我找不到做这些事情的正确方法。这是我拥有的数组:
[
{
productId: 5eaaec0povjedeojej83,
options: [ [Object], [Object], [Object], [Object] ],
supplements: [ [Object], [Object], [Object] ],
totalPrice: 11.5,
name: 'Menu Tacos',
price: 11.5,
},
{
productId: 5eaafcsefesfsefsefc,
options: [ [Object], [Object], [Object] ],
supplements: [],
totalPrice: 15,
name: 'Menu sandwichs',
price: 7.5,
}
{
productId: 5eaaec0efjejfzzefc8ldoe,
options: [ [Object], [Object], [Object], [Object] ],
supplements: [ [Object], [Object], [Object] ],
totalPrice: 11.5,
name: 'Menu Tacos',
price: 11.5,
},
]
假设产品 1 和 3 具有相同的选项和补充,我想简单地显示 x2 菜单炸玉米饼:(菜单炸玉米饼的补充和选项),x1 菜单三明治:(菜单的补充和选项)我想到的解决方案是我将重复项合并到一个对象中并向其添加数量,因此我想要得到的结果是:
[
{
producName: 'Menu Tacos',
options: [ [Object], [Object], [Object], [Object] ],
supplements: [ [Object], [Object], [Object] ],
totalPrice: 11.5,
name: 'Menu Tacos',
price: 11.5,
quantity:2
},
{
productName:'Menu sandwichs' ,
options: [ [Object], [Object], [Object] ],
supplements: [],
totalPrice: 15,
name: 'Menu sandwichs',
price: 7.5,
quantity:1
}
]
所以有人可以帮助我吗?
解决方案
推荐阅读
- postgresql - pg_dump - 名称中带有特殊字符的转储模式
- c# - 使用 C# 读取 XML 的问题
- django - 第二个模型如何引用作为第一个模型中的外键的用户实例
- asp.net-core - 通过 Open Id 进行身份验证后返回 JWT
- reactjs - 创建一个可以接收随机名称的 propType
- reactjs - 为表格中的每一行添加按钮或单选按钮
- cucumber - 当使用 '~@tag' 时,第一个 Cucumber 版本会显示“支持 '~@tag' 将从 Cucumber 的下一个版本中删除”?
- javascript - 在带有 XMLHttpRequest 的 Firefox 插件中,Referer、Connection 和 Accept-Encoding 被拒绝
- python - DRF 验证 - 当 Model.clean 出错时返回错误 500
- javascript - React 对象属性设置损坏