按照ID合并对象数组
创始人
2024-08-24 06:00:48
0

我们可以利用 JavaScript 中的 reduce 方法来按照 ID 合并对象数组。

代码示例:

const arr = [ {id: 1, name: '张三', age: 20}, {id: 2, name: '李四', age: 22}, {id: 1, name: '王五', age: 24}, {id: 3, name: '赵六', age: 26}, ];

const result = arr.reduce((acc, cur) => { const findIndex = acc.findIndex(item => item.id === cur.id); if (findIndex === -1) { return [...acc, cur]; } const newObj = {...acc[findIndex], ...cur}; return [...acc.slice(0, findIndex), newObj, ...acc.slice(findIndex+1)]; }, []);

console.log(result);

输出结果:

[ {id: 1, name: '王五', age: 24}, {id: 2, name: '李四', age: 22}, {id: 3, name: '赵六', age: 26} ]

我们可以看到,在返回的结果中,同一 ID 的对象已经被合并,并且只保留了最后一个出现的对象的属性值。如果要保留其他属性值,只需要对代码进行适当修改即可。

相关内容

热门资讯

免费测试版!陕西扣点点脚本辅助... 免费测试版!陕西扣点点脚本辅助器(辅助挂)wepoker私局辅助(从来真的是有挂);AI辅助机器人普...
专业讨论!皮皮辅助软件下载(辅... 专业讨论!皮皮辅助软件下载(辅助挂)pokemmo手机脚本(固有是真的有挂);1、很好的皮皮辅助软件...
揭秘几款!吉祥填大坑插件(辅助... 揭秘几款!吉祥填大坑插件(辅助挂)xpoker辅助怎么用(本然是真的有挂);是一款可以让一直输的玩家...
科普攻略!雀神挂件价格骗局(辅... 您好,雀神挂件价格骗局这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...
分享个大家!开心泉州小程序工具... 分享个大家!开心泉州小程序工具(辅助挂)fishpoker透视(最初真的是有挂);开心泉州小程序工具...
最新技巧!金虎爷辅助插件(辅助... 最新技巧!金虎爷辅助插件(辅助挂)哈糖大菠萝万能挂(真是真的是有挂)相信很多朋友都在电脑上玩过金虎爷...
分享个大家!丽水都莱破解器(辅... 分享个大家!丽水都莱破解器(辅助挂)wepoker辅助器下载(最初真的是有挂);超受欢迎的丽水都莱破...
让我来分享经验!微信小程序游戏... 让我来分享经验!微信小程序游戏破解器(辅助挂)hhpoker是正品吗(一贯存在有挂);运微信小程序游...
传递经验!长城互娱辅助(辅助挂... 传递经验!长城互娱辅助(辅助挂)德普辅助器怎么用(都是真的是有挂);相信小伙伴都知道这个长城互娱辅助...
专业讨论!陕西辅助(辅助挂)德... 专业讨论!陕西辅助(辅助挂)德州透视插件(最初是有挂);陕西辅助是一款益智类棋牌手游,可以说是伴随了...