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

如何从array中移除重复integer并将被移除的重复项存入新array

数组去重+提取重复项实现方案

你可以借助Set做元素出现状态标记,单次遍历就能同时得到去重后的数组和被移除的重复项数组,代码实现如下:

function dedupe(nums) {
  const seen = new Set()
  const uniqueArr = [] // 存储去重后的结果
  const removedArr = [] // 存储所有被移除的重复整数

  for (const item of nums) {
    if (seen.has(item)) {
      // 已经出现过的元素属于重复项,推入重复数组
      removedArr.push(item)
      continue
    }
    // 首次出现的元素存入去重数组,标记为已出现
    uniqueArr.push(item)
    seen.add(item)
  }

  // 可根据需求调整返回格式,这里返回对象方便取值,也可以改为返回[uniqueArr, removedArr]数组格式
  return {
    unique: uniqueArr,
    removed: removedArr
  }
}

使用示例

const testInput = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
const res = dedupe(testInput)
console.log(res.unique) // 输出:[3,1,4,5,9,2,6]
console.log(res.removed) // 输出:[1,5,3,5]

内容的提问来源于stack exchange,提问作者Henry Labrada

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 13:24:02