怎么用js去除一组数据中重复的元素?

怎么去除一组数据中重复的元素?

function removeDuplicates(array) {
    var temp={}
    var result =[]
    for (let i = 0; i < array.length; i++) {
      if (!temp[array[i]]) {  //如果设置当前元素的值不为true
        temp[array[i]] = true //设置当前元素的值为true
        result.push(array[i])//推进新数组
      }  
    }
    // console.log(temp);
    return result;
  }
var arr = [1,0,1,3,45,6,2,3,4,2,8,9,0,2]
console.log(removeDuplicates(arr));

根据对象的方法来解答,将数组的元素作为对象的key,第一次出现这个key,就把这个key的value赋值为true,后面数组再出现这个元素就可以访问到true这个属性。非常巧妙的解决了这个问题。

下面是打印出来的temp对象和去重的结果,方便理解。

{
  '0': true,
  '1': true,
  '2': true,
  '3': true,
  '4': true,
  '6': true,
  '8': true,
  '9': true,
  '45': true
}
[
  1, 0, 3, 45, 6,
  2, 4, 8,  9
]
posted @   侠客小飞  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2020-08-03 python爬虫学习05-爬取图片
点击右上角即可分享
微信分享提示