JS数组去重的各个方法及适用性

数组去重在工作中是避免不了需要用到的地方,面试过程中也有很大可能概率会遇到,市面上那么多可以实现的方法,那么该用哪一个呢,而哪些是最优的解决方案。下面来看一下?(不强求用哪一个方法,适合自己的就是最好的)

定义一个新数组并存放原数组的第一个元素,然后将元素组一一和新数组的元素对比,若不同则存放在新数组中。

性能较低,胜在稳定,但是不推荐
image.png

image.png

将原数组排序,在与相邻的进行比较,如果不同则存入新数组。

跟上面的效率差不了多少,在现在追求代码代码量少并且要实现功能的需求下,类似这种方法并不推荐
image.png

image.png

利用对象属性不能重复的特性,如果没有该属性则存入新数组。

数组去重的方法有问题,极其不稳定,不建议用
image.png

image.png

利用数组的indexOf方法

适用性不强,不适应多类型数组
image.png

image.png

includes方法

es6中的方法,推荐(这个方法可用场景非常多且稳定,很nice,前提是浏览器支持es6)
image.png

image.png

filter 和 includes方法组合使用

容错率高且稳定,对性能没有影响,同样浏览器要支持es6

image.png

image.png

splice 方法

麻烦,强烈不推荐

image.png

image.png

下次再更。。。。

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享