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,'---------结果');

相关推荐
russ385几秒前
Vue3.4版本新特性,更优雅的处理组件间的数据双向绑定
vue.js
之恒君1 分钟前
typescript(tsconfig.json - esModuleInterop)
前端·typescript
夏天19951 分钟前
React:聊一聊状态管理
前端·javascript·react.js
李剑一3 分钟前
低代码平台现在为什么不行了?之前为什么行?
前端·面试
鹏多多4 分钟前
vue的监听属性watch的详解
前端·javascript·vue.js
streaker3035 分钟前
Vue3 开发态轻量组件文档方案:基于动态路由 + Markdown
vue.js·vite
用户42274481246216 分钟前
IndexDB 前端数据库
前端
然我6 分钟前
前端正则面试通关指南:一篇吃透所有核心考点,轻松突围面试
前端·面试·正则表达式
LFly_ice34 分钟前
学习React-11-useDeferredValue
前端·学习·react.js
ホロHoro38 分钟前
学习笔记:JavaScript(4)——DOM节点
javascript·笔记·学习