JS 数组相同的key 进行合并

const data = [ { age: 1, name: 'zzz' }, { age: 2, name: 'ccc' }, { age: 1, name: 'bbb' }, { age: 3, name: 'aa' } ];

age相同的变成以下数据 data = [ { age: 1, name: 'zzz', names:['zzz','bbb'] }, { age: 2, name: 'ccc',names:[] }, { age: 3, name: 'aa',names:[] } ];

const grouped = data.reduce((acc, item) => {

if (!acc[item.age]) {

acc[item.age] = {

age: item.age,

name: item.name,

names: [item.name]

};

} else {

acc[item.age].names.push(item.name);

}

return acc;

}, {});

const result = Object.values(grouped);

console.log(result,'---------结果');

相关推荐
我叫张小白。11 小时前
Vue3监视系统全解析
前端·javascript·vue.js·前端框架·vue3
WYiQIU15 小时前
11月面了7.8家前端岗,兄弟们12月我先躺为敬...
前端·vue.js·react.js·面试·前端框架·飞书
谢尔登15 小时前
简单聊聊webpack摇树的原理
运维·前端·webpack
娃哈哈哈哈呀16 小时前
formData 传参 如何传数组
前端·javascript·vue.js
zhu_zhu_xia17 小时前
vue3+vite打包出现内存溢出问题
前端·vue
tsumikistep17 小时前
【前后端】接口文档与导入
前端·后端·python·硬件架构
5134959217 小时前
Vite环境变量配置
vue.js
行走的陀螺仪17 小时前
.vscode 文件夹配置详解
前端·ide·vscode·编辑器·开发实践
2503_9284115618 小时前
11.24 Vue-组件2
前端·javascript·vue.js
Bigger18 小时前
🎨 用一次就爱上的图标定制体验:CustomIcons 实战
前端·react.js·icon