按照不重复的键值过滤对象数组
创始人
2024-08-23 13:00:37
0

假设有一个对象数组,每个对象包含不同的键和值。现在要按照不重复的键值来过滤这个对象数组,即只保留每个键值第一次出现的对象,其他重复键值的对象全部过滤掉。

下面是基于JavaScript的解决方案:

const arr = [ {key: 'a', val: 1}, {key: 'b', val: 2}, {key: 'a', val: 3}, {key: 'c', val: 4}, {key: 'b', val: 5}, {key: 'd', val: 6} ];

const filteredArr = arr.reduce((acc, curr) => { if (!acc[curr.key]) { acc[curr.key] = curr; // 保存第一次出现的对象 } return acc; }, {});

const result = Object.values(filteredArr); console.log(result);

// 输出结果: // [{key: 'a', val: 1}, {key: 'b', val: 2}, {key: 'c', val: 4}, {key: 'd', val: 6}]

以上代码中,使用reduce方法和一个空对象作为初始值来迭代对象数组。在迭代过程中,判断该键是否已经存在于累加器中,如果不存在,则将该对象存储在累加器中;否则,直接忽略该对象。最后,使用Object.values方法将对象转换为数组并输出结果。

相关内容

热门资讯

推荐一款!赣牌圈的好牌几率(透... 推荐一款!赣牌圈的好牌几率(透视)hhpoker有辅助吗(可靠教程有挂透视);无需打开直接搜索薇:1...
一分钟了解!财神13章辅助码大... 一分钟了解!财神13章辅助码大全(透视)红龙poker辅助平台(教你攻略了解有挂)您好:财神13章辅...
总算了解!wepoker俱乐部... 总算了解!wepoker俱乐部辅助器(透视)sohoo竞技联盟辅助器(2026新版有人有挂);亲,s...
一分钟揭秘!逍遥湖北微信辅助(... 逍遥湖北微信辅助是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户可以加我微...
透视能赢!丽水都莱大菠萝脚本辅... 透视能赢!丽水都莱大菠萝脚本辅助(透视)poker world辅助器(2026新版教程有挂技术)【无...
玩家必看分享!功夫川嘛辅助器如... 功夫川嘛辅助器如何下载安装是一款可以让一直输的玩家,快速成为一个“必胜”的ai辅助神器,有需要的用户...
实测教程!wepoker透视底... 您好:这款wepoker有辅助功能吗游戏是可以开挂的,确实是有挂的,很多玩家在这款wepoker有辅...
终于知道!潮友会插件(透视)h... 终于知道!潮友会插件(透视)hhpoker德州牛仔视频(揭秘攻略有挂助手);无需打开直接搜索打开薇:...
重大通报!上饶中至插件下载(透... 重大通报!上饶中至插件下载(透视)拱趴大菠萝有什么挂(可靠教程有挂方略);亲,拱趴大菠萝有什么挂这款...
重大发现!下载微乐小程序自建房... 重大发现!下载微乐小程序自建房透视(透视)大菠萝免费辅助器(新2026版有人有挂);无需打开直接搜索...