javascript - 根据键值合并对象数组
问题描述
我将如何转动这样的对象数组
const scores = [
{
year: 2020,
dave: 20
},
{
year: 2020,
steve: 17
},
{
year: 2019,
bill: 18
}
];
进入这个
const scores = [
{
year: 2020,
dave: 20,
steve: 17
},
{
year: 2019,
bill: 18
}
];
解决方案
我使用了一个Array.reduce()并有一个带有键的对象作为年份并继续分配对象,后来取出了值。
const scores = [
{
year: 2020,
dave: 20
},
{
year: 2020,
steve: 17
},
{
year: 2019,
bill: 18
}
];
const mergedOb = scores.reduce((acc, ob) => {
if (acc[ob.year]) {
Object.assign(acc[ob.year], ob);
} else {
acc[ob.year] = ob
}
return acc;
}, {});
const mergeArr = Object.values(mergedOb)
console.log(mergeArr)
推荐阅读
- c# - 功能未显示在统一按钮上
- internet-explorer - 更改 IE 11 中的用户代理字符串
- angular - 从服务调用服务并返回其结果
- reactjs - 如何渲染一个反应模板?
- vim - 如何在vim中对字典项进行排序
- c++ - 在 Class 和 C++ 性能状态下使用外部结构?
- jenkins - jenkins - groovy - 遍历所有以前的运行非常慢
- python - 如何从公制转换为英制,反之亦然(bmi)?
- php - Laravel 时间戳(来自 json 响应)不同于从 artisan & mysql select 命令生成的时间戳
- c - &- 运算符的不同用法