数组去重,一般面试都会遇到,需要手写数组去重方法的代码。如果被问到,数组去重有哪些方法?如果你能回答其中的10个,面试官很可能会对你刮目相看。实际项目中遇到的数组去重一般都是在后台处理,很少让前端处理数组去重。虽然用到的概率很低,但还是要了解一下,以防面试时被问到。数组去重的方法:1.使用ES6Set去重(ES6中最常用)。如果不考虑兼容性,这种去重方式代码最少。该方法无法去除“{}”空对象,后期高阶方法会增加去除重复“{}”的方法。2.用for嵌套for,再拼接去重(ES5中最常用)双层循环,外层循环元素,内层循环比较值。如果值相同,则删除该值。3、使用indexOf重建一个空的result数组,for循环原数组,判断result数组中是否存在当前元素。如果有相同的值,则跳过;如果没有,将其推入数组。4.使用sort()使用sort()排序方法,然后根据排序后的结果遍历比较相邻元素。5.利用对象属性不能相同的特性去重6.利用includes7.利用hasOwnProperty?利用hasOwnProperty判断是否存在对象属性8.利用过滤器9.利用递归去重10.使用Map数据结构去重创建一个空的Map数据结构,遍历需要去重的数组,将数组的每一个元素作为key存储在Map中。由于Map中不会出现相同的key值,所以最终的结果就是去重后的结果。11.喜欢使用reduce+includes的可以点击关注小编~每天更新~
