javascript - 通过键javascript对一组对象进行分组
问题描述
我有一个这样的对象数组。
[
{
NAME: 'TEST_1',
ORG: 'A',
FROM: '20191223',
TO: '99991231'
},
{
NAME: 'TEST_1',
ORG: 'B',
FROM: '20191223',
TO: '99991231'
},
{
NAME: 'TEST_2',
ORG: 'C',
FROM: '20191223',
TO: '99991231'
},
{
NAME: 'TEST_2',
ORG: 'D',
FROM: '20191223',
TO: '99991231'
}
]
我想对对象数组进行分组NAME
并将其推入ORG
数组中。
[
{
NAME: 'TEST_1',
ORG: ['A', 'B']
FROM: '20191223',
TO: '99991231'
},
{
NAME: 'TEST_1',
ORG: ['C', 'D']
FROM: '20191223',
TO: '99991231'
}
]
我尝试使用 reduce 函数,但它没有给我想要的结果。
let group = this.myObj.reduce((r, a) => {
r[a.NAME] = [...r[a.NAME] || [], a];
return r;
}, {});
console.log("group", group);
解决方案
推荐阅读
- android - 捕获图像后,我的整个片段被重新创建并在数据片段中
- javascript - Laravel HTML Jquery 通过选择图像输入总是返回最高值?
- android - android.support.design.widget.CoordinatorLayout 中的 RelativeLayout 未在 android 版本 8.1 三星 Galaxy J7 Prime 中显示
- jenkins - How to use conditions in Jenkins declarative pipeline "options" block?
- struct - Arduino 结构中的字段未更新
- typescript - 如何在 ReactTS 中导出带有子组件的组件?
- regex - 使用 AHK 正则表达式匹配提取子字符串
- powershell - 直接查询模式的基于事件的调度
- sql - 删除空值并修复对齐
- json - 如何区分传递给视图的 JSON 消息?