当前位置 博文首页 > m0_52385102的博客:javascript 数组去重操作方法概览
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 数组去重,一般都是在面试的时候才会碰到,一般是要求手写数组去重方法的代码。? ? ?? ???????????
??????????????????????????????????? 在真实的项目中碰到的数组去重,一般都是后台去处理,很少让前端处理数组去重。
??????????????????????????? 虽然日常项目用到的概率比较低,但还是需要了解一下,以防面试的时候可能回被问到 。
???????????????????????????????? 1.ES6? Set (es6中最常用方法)
?????????????????? ? ? ?? 也可以这样写,大大减少了代码量,也提高了效率.
??????????????????????? ? ? ? ? ? ? ? ? 2.es5数组过滤方法
? ? ? ? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? 3. es5 数组reduce()方法 ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ???????
???????????????????????????????????? 4. ? 利用indexOf去重
????????????????????????????????????????????
????????????????????????????????????新建一个空的结果数组,for 循环原数组,判断结果数组是否存在当前元素,如果有相同的值则跳过,不相同则push进数组。
???????????????????????????????? 5. 利用sort()方法去重
????????????????????????????????????????????????????? 利用sort()排序方法,然后根据排序后的结果进行遍历及相邻元素比对。
??????????????????????????????????????? 6.利用includes方法检测数组中是否有某个值
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?????? ??????
???????????????????????????????????????? 7.利用hasOwnProperty判断是否拥有某个对象属性
??????????????????????????????????????????????????????????
??????????????????????????????????????????????????
??????????????????????????????????????????? 8.利用递归去重
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? ? 9.利用Map数据结构去重 ??
?? ? ???????????????????????????????????????????????????????
?????????????????????????????????????????????????????????????????????????????????????????????????
cs