JS数组去重总结

数组去重,通常会在面试的时候才会碰到,要求手写数组去重方法的代码。若是是被提问到,数组去重的方法有哪些?你能答出其中的10种,面试官颇有可能对你另眼相看。前端

在实际项目中碰到的数组去重,通常都是后台去处理,不多让前端处理数组去重。虽然运用到的几率较低,但仍是须要了解一下,以防面试的时候被问到。面试

数组去重的方法:数组

1、利用ES6 Set去重(ES6中最经常使用)数据结构

图片描述

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

2、利用for嵌套for,而后splice去重(ES5中最经常使用)3d

图片描述
​​对象

双层循环,外层循环元素,内层循环时比较值。值相同时,则删去这个值。blog

3、利用indexOf去重
图片描述排序

新建一个空的结果数组,for 循环原数组,判断结果数组是否存在当前元素,若是有相同的值则跳过,不相同则push进数组。递归

4、利用sort()
图片描述

​​

利用sort()排序方法,而后根据排序后的结果进行遍历及相邻元素比对。

5、利用对象的属性不能相同的特色进行去重
图片描述

​​

6、利用includes
图片描述

​​

7、利用hasOwnProperty
图片描述

​​

利用hasOwnProperty 判断是否存在对象属性

8、利用filter
图片描述

​​

9、利用递归去重
图片描述

10、利用Map数据结构去重
图片描述

​​

建立一个空Map数据结构,遍历须要去重的数组,把数组的每个元素做为key存到Map中。因为Map中不会出现相同的key值,因此最终获得的就是去重后的结果。

11、利用reduce+includes
图片描述

喜欢的能够点击关注小编哦~天天更新~

相关文章
相关标签/搜索