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

相关推荐
Amewin36 分钟前
在vue3+uniapp+vite中挂载全局属性方法
javascript·vue.js·uni-app
玖釉-38 分钟前
用 Vue + DeepSeek 打造一个智能聊天网站(完整前后端项目开源)
前端·javascript·vue.js
zhangyao9403302 小时前
关于js导入Excel时,Excel的(年/月/日)日期是五位数字的问题。以及对Excel日期存在的错误的分析和处理。
开发语言·javascript·excel
骑驴看星星a2 小时前
【Three.js--manual script】4.光照
android·开发语言·javascript
devincob7 小时前
js原生、vue导出、react导出、axios ( post请求方式)跨平台导出下载四种方式的demo
javascript·vue.js·react.js
编程社区管理员7 小时前
React 发送短信验证码和验证码校验功能组件
前端·javascript·react.js
葡萄城技术团队7 小时前
迎接下一代 React 框架:Next.js 16 核心能力解读
javascript·spring·react.js
全马必破三7 小时前
React“组件即函数”
前端·javascript·react.js
三思而后行,慎承诺8 小时前
React 底层原理
前端·react.js·前端框架
座山雕~8 小时前
html 和css基础常用的标签和样式
前端·css·html