高性能js数组去重的方法有哪些(JS,web开发)

时间:2024-05-06 11:20:32 作者 : 石家庄SEO 分类 : web开发
  • TAG :

    %E9%AB%98%E6%80%A7%E8%83%BDjs%E6%95%B0%E7%BB%84%E5%8E%BB%E9%87%8D%E7%9A%84%E6%96%B9%E6%B3%95%E6%9C%89%E5%93%AA%E4%BA%9B

数组去重的方法

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

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

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

双层循环,外层循环元素,内层循环时比较值。值相同时,则删去这个值。
想快速学习更多常用的ES6语法,可以看我之前的文章《学习ES6笔记──工作中常用到的ES6语法》。

三、利用indexOf去重

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

四、利用sort()

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

五、利用对象的属性不能相同的特点进行去重(这种数组去重的方法有问题,不建议用,有待改进)

六、利用includes

七、利用hasOwnProperty

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

八、利用filter

九、利用递归去重

十、利用Map数据结构去重

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

十一、利用reduce+includes

十二、[...new Set(arr)]

[...new Set(arr)]

//代码就是这么少----(其实,严格来说并不算是一种,相对于第一种方法来说只是简化了代码)

本文:高性能js数组去重的方法有哪些的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:django实现用户注册实例讲解下一篇:

10 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18