You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript 移除所有重复ID对象问题求助

移除数组中所有ID重复的对象

你的需求是移除所有存在重复ID的对象,只保留ID唯一出现的条目——这和常规的“去重保留单个重复项”逻辑不同,可通过以下两步实现:

  1. 统计数组中每个ID的出现次数
  2. 过滤出仅出现一次的ID对应的对象

直接用JavaScript代码实现:

// 原始数组
const originalArr = [
  {id: 4, country: 'Japan'},
  {id: 5, country: 'Korea'},
  {id: 6, country: 'Philippines'},
  {id: 6, country: 'Philippines'}
];

// 统计每个ID的出现次数
const idOccurrence = originalArr.reduce((countMap, item) => {
  countMap[item.id] = (countMap[item.id] || 0) + 1;
  return countMap;
}, {});

// 过滤出仅出现一次的对象
const filteredArr = originalArr.filter(item => idOccurrence[item.id] === 1);

console.log(filteredArr);
// 输出结果:
// [{id: 4, country: 'Japan'}, {id: 5, country: 'Korea'}]

逻辑说明

  • reduce 遍历数组,用对象记录每个ID的出现次数,键为ID值,值为出现次数
  • filter 遍历数组,仅保留对应ID出现次数为1的对象,以此移除所有含重复ID的条目

内容的提问来源于stack exchange,提问作者Azor Ahai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 15:45:00