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

相关内容

热门资讯

透视指南书!aa poker辅... 透视指南书!aa poker辅助包(透视)epoker底牌透视(辅助)竟然是真的有工具(哔哩哔哩)1...
透视绝活儿!werplan透视... 透视绝活儿!werplan透视挂(透视)impoker辅助(辅助)确实是真的有脚本(哔哩哔哩)1、每...
透视阶段!聚星ai辅助工具下载... 透视阶段!聚星ai辅助工具下载(透视)智星德州辅助译码插件靠谱吗(辅助)真是一直都是有攻略(哔哩哔哩...
透视模板!来玩app破解版(透... 透视模板!来玩app破解版(透视)pokerworld破解版下载(辅助)原来一直总是有app(哔哩哔...
透视窍要!pokermaste... 透视窍要!pokermaster辅助器(透视)哈糖大菠萝能开挂吗(辅助)都是一直总是有app(哔哩哔...
透视指南!pokermaste... 您好,德州私人局怎么透视这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多...
透视资料!pokemmo手机脚... 透视资料!pokemmo手机脚本(透视)pokerworld辅助器(辅助)好像是真的有攻略(哔哩哔哩...
透视窍门!xpoker辅助(透... 透视窍门!xpoker辅助(透视)pokernow辅助工具(辅助)切实一直总是有软件(哔哩哔哩)在进...
透视窍门!cloudpoker... 透视窍门!cloudpoker外开挂(透视)智星德州插件(辅助)都是真的是有工具(哔哩哔哩)1、玩家...
透视攻略!poker worl... 透视攻略!poker world辅助器(透视)来玩app 德州 辅助(辅助)一直一直都是有app(哔...