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 (!accitem.age) {

accitem.age = {

age: item.age,

name: item.name,

names: item.name

};

} else {

accitem.age.names.push(item.name);

}

return acc;

}, {});

const result = Object.values(grouped);

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

相关推荐
kyriewen3 分钟前
开源|Image Harvest v1.0.5:AI 智能标签 + Eagle 导出,设计师和开发者的图片工作流神器
前端·javascript·ai编程
wuhen_n10 分钟前
LangChain Memory 详解:实现 AI 连续对话不丢失上下文
前端·langchain·ai编程
wuhen_n26 分钟前
LangChain Function Call 实战:让 AI 调用自定义工具
前端·langchain·ai编程
DyLatte30 分钟前
很多人把坚持,误以为成长
前端·后端·程序员
yingyima41 分钟前
凌晨3点的警报声:定时任务监控与告警的最佳实践
前端
he___H1 小时前
B、B+树和vue部分知识
数据结构·vue.js·b树
zach1 小时前
React中的兄弟通讯之发布订阅模式
前端·react.js
书中枫叶1 小时前
我用 Vue3 写了一个 Chrome 步骤录制插件:自动截图、本地存储、一键导出教程
前端·vue.js
达达尼昂1 小时前
AI Native 工程实践 : agent 自动化测试
前端·后端·架构
2501_940041741 小时前
前端工程化命题,覆盖性能/架构/交互
前端·交互