数组去重的8种常见方法

数组去重的方法

一、利用ES6 Set去重(ES6中最常用)

数组去重的8种常见方法_第1张图片

不考虑兼容性,这种去重的方法代码最少。这种方法还无法去掉“{}”空对象,后面的高阶方法会添加去掉重复“{}”的方法。

二、利用for嵌套for,然后splice去重(ES5中最常用)

数组去重的8种常见方法_第2张图片
双层循环,外层循环元素,内层循环时比较值。值相同时,则删去这个值。

三、利用indexOf去重

数组去重的8种常见方法_第3张图片
新建一个空的结果数组,for 循环原数组,判断结果数组是否存在当前元素,如果有相同的值则跳过,不相同则push进数组。

四、利用sort()

数组去重的8种常见方法_第4张图片
利用sort()排序方法,然后根据排序后的结果进行遍历及相邻元素比对。

五、利用includes

数组去重的8种常见方法_第5张图片

六、利用Map数据结构去重

数组去重的8种常见方法_第6张图片
创建一个空Map数据结构,遍历需要去重的数组,把数组的每一个元素作为key存到Map中。由于Map中不会出现相同的key值,所以最终得到的就是去重后的结果。

七、利用indexOf

数组去重的8种常见方法_第7张图片
创建一个新的数组,利用数组的indexOf方法判断新数组里面是否有原数组的元素,当返回结果是-1时将元素添加到新的数组里面。

八、[…new Set(arr)]

数组去重的8种常见方法_第8张图片

你可能感兴趣的:(js)