![587cea88754719932fd056a62ab63e79.png](https://i-blog.csdnimg.cn/blog_migrate/06aeb7cb08e8b39cf4a2395fce50dddd.png)
数组去重算是面试题里常见的考点了,之前在 Medium 上看到一篇文章用三种方法实现数组去重的,感觉十分简洁。主要用到的是 Set, Array.filter, Array.reduce。可能第一种大家都知道,方方也讲过基数排序来去重,但是能用 filter, reduce 写成这样的真的很简洁呀。
使用 Set
let
使用 filter
这个方法是每个元素都去看 index 是否和第一次出现该元素的 index 一样,如果是一样的就不一样的就过滤掉(因为这是第二次出现了),否则不过滤(是第一次出现)。
let
使用 reduce
这种比较难以一眼看懂,其实本质上就是创建一个临时数组,遍历原数组的时候去判断当前元素是否已经存在于临时数组里了,如果存在那么不加入,否则加入。
let