javascript - 合并对象数组中具有匹配属性的对象
问题描述
我有点卡住了在具有匹配属性的数组中合并对象(在本例中为“广告”)advertGroupId
。对于匹配的属性,我想保留最早的并用最新的startDate
覆盖。endDate
本质上,将广告组合在一起。(额外的好处是将个人也分组advertId
到一个数组中,但在这种情况下不是必需的)
我知道如何将两个对象合并在一起(例如const newObj = {...obj1, ...obj2}
),但这让我有点难过!我在网上找不到任何其他示例,因此将不胜感激。
这是我的问题的一个例子:
const arrayOfAdverts = [
{
advertId: 1234,
startDate: '2020-03-04',
endDate: '2020-03-04',
advertGroupId: 1
},
{
advertId: 1235,
startDate: '2020-03-05',
endDate: '2020-03-05',
advertGroupId: 1
},
{
advertId: 1236,
startDate: '2020-03-07',
endDate: '2020-03-07',
advertGroupId: 1
},
{
advertId: 1237,
startDate: '2020-03-10',
endDate: '2020-03-10',
advertGroupId: 2
},
{
advertId: 1238,
startDate: '2020-03-11',
endDate: '2020-03-11',
advertGroupId: 2
}
]
我正在寻找的最终结果是:
const newArray = [
{
advertId: [1234, 1235, 1236],
startDate: '2020-03-04',
endDate: '2020-03-07',
advertGroupId: 1
},
{
advertId: [1237, 1238],
startDate: '2020-03-10',
endDate: '2020-03-11',
advertGroupId: 2
}
]
正如我所说,对个人 ID 进行分组不是必需的,但会很不错。
提前致谢!
解决方案
推荐阅读
- angular - 将选定的行元素从角度数据表传递到弹簧靴
- powershell - 使用 Invoke-Command 时的提升权限
- java - 使用java合并excel文件中的单元格
- ansible - 从 url 检查文件的校验和
- php - 如何在PHP中的单引号内传递变量
- django - “无法在没有主键的情况下强制更新 save()”- 提交编辑/更新表单时
- python - “'utf-8' 编解码器无法解码字节 0xf3”,同时打印 viariable
- android - Android双簧管 - 如何在打开后更改音频流的速率/频率
- export - fasttext:有没有办法导出 ngram?
- ruby - FactoryBot 未初始化常量 FactoryName