两种不正经JS数组去重的方式

原创 陈陈陈大文 随笔 JS随笔 399阅读 2017-05-03 15:23:41 举报

数组去重呀,老生常谈的问题了,经常混迹于各类公(bai)司(du)面试题中~~
suo起介个数组去重呀,suo起介个数组去重呀!
我刚看到这个词的时候,还以为它叫去重(zhong)呢



当时火不打一处来,怎么写个代码都这么歧视胖子!!
后来才发现是我

Low了

(吃瓜群众:“胖子,该减肥了!”)
在减了,我现在一顿才吃6根鸡腿 + 一大盆饭 + 一根香蕉而已!!!
(吃瓜群众:“别想瘦了!”)

什么是数组去重呢?
就是把一个数组里那些重复的元素给去掉,嗯,就酱,常规的做法是怎样呢?
其实就是循环遍历判断下标来删除重复项!
栗子:
html 代码

百度了一圈大概实现方法都是差不多的,
在这里顺便吐槽一下,其实我并不喜欢用loop循环
写个for,其实赶脚挺丑的!
我是习惯尽量能用别的方法代替就用别的方法代替!

(吃瓜群众:“不正经”)

回归正题:
不正经的数组去重实现方法之一就是使用ES5 array的数组方法来实现
思路就是通过sort来排序,然后filter来过滤
html 代码

(吃瓜群众:“这种方法跟百度上常见的方法也差不多,只是把indexOf改成filter而已。。”);

最后一种方法,
就是利用了ES6的新的数据结构Set的特性来实现,Set内的元素有唯一性,所以这就好简单了
html 代码

Set之后再用Array.from来改回去,嗯!
完美!!
(吃瓜群众:“切,IE都不支持!”)
。。。所以肾用。。。

好,大概的方法就是这样了,如果以后大家面试的时候遇到数组去重这种老生常谈的题目,不妨多考虑一下不一样的方法~~

评论 ( 2 )
最新评论
陈陈陈大文 1F 2017-05-04 10:07:40 2F

吃货的事,脂肪怎么能算多余呢

老姚 2017-05-03 15:48:27 1F

去重(zhong)和去重也差不多嘛,都是要去掉多余的。