js-数组去重的方法

78 阅读1分钟

《用得上的前端知识》系列 - 你我都很忙,能用100字说清楚,绝不写万字长文

方法一

利用indexOf判断元素在数组中第一次出现的位置和当前元素的位置是否相等,若不等,重复元素。
indexOf、filter:Edge、Firefox、chrome、safari、Opera都支持(IE10及其以上支持)

方法二

先调用了数组的排序方法sort(),然后根据排序后的结果进行遍历及相邻元素比对、再返回。

方法三

ES6中新增了数据类型set,set的一个最大的特点就是数据不重复。
set:Edge、Firefox、chrome、safari、Opera都支持(IE支持不好,IE11也只是部分支持)

方法四

Array.from方法可以将Set结构转换为数组结果,而set结果是不重复的数据集。
from:Edge、Firefox、chrome、safari都支持(最新版Opera支持;IE不支持)

方法五

创建空对象,遍历数组,记录已经添加过的元素