按照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 的对象已经被合并,并且只保留了最后一个出现的对象的属性值。如果要保留其他属性值,只需要对代码进行适当修改即可。

相关内容

热门资讯

现有关情况通报如下!wepok... 现有关情况通报如下!wepoker高级辅助(透视)一起宁德钓蟹辅助怎么设置(都是是有辅助工具)-哔哩...
透视苹果版!约局吧能不能开挂(... 透视苹果版!约局吧能不能开挂(透视)微信小程序有挂吗辅助(竟然真的有辅助下载)-哔哩哔哩1、微信小程...
围绕透视问题!wepoker游... 围绕透视问题!wepoker游戏安装教程(透视)拱趴大菠萝辅助神器(都是真的是有辅助辅助器)-哔哩哔...
日前!fishpoker透视(... 日前!fishpoker透视(透视)湖北卡五星技能辅助(果然有辅助app)-哔哩哔哩1、游戏颠覆性的...
透视规律!hhpoker可以控... 透视规律!hhpoker可以控制牌吗(透视)微信微乐辅助器下载(都是真的有辅助app)-哔哩哔哩1、...
透视数据!wepoker模拟器... 透视数据!wepoker模拟器哪个(透视)开心十三张脚本(原来是真的辅助安装)-哔哩哔哩1、透视数据...
透视新版!wepoker透视脚... 透视新版!wepoker透视脚本免费(透视)心悦踢坑神器软件下载(好像是真的辅助神器)-哔哩哔哩1、...
围绕透视问题!智星德州插件(透... 围绕透视问题!智星德州插件(透视)雀友会广东潮汕辅助(确实存在有辅助神器)-哔哩哔哩雀友会广东潮汕辅...
透视数据!aapoker破解侠... 透视数据!aapoker破解侠是真的吗(透视)最悠闲的辅助(好像是真的辅助app)-哔哩哔哩最悠闲的...
透视系统!pokemmo脚本最... 透视系统!pokemmo脚本最新版(透视)传送屋软件下载辅助(竟然有辅助插件)-哔哩哔哩传送屋软件下...