js 数组去重的方法

81 阅读1分钟

1.es6 set方法

讲数组放到set 方法里面,变成伪数组,在用数据解构变成真数组,也可以用array.form 方法转成数组。

[...new Set(arr)]

2.利用 filter() 去重

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。item是当前元素的值,index是当前元素的索引值。indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。利用indexOf() 查询到数组的下标,看是否等于当前的下标,相等的话就返回,否则不返回值。

let arr = ['apple','apps','pear','apple','orange','apps'];

let newArr = arr.filter((item,index) => arr.indexOf(item) === index;  // 因为indexOf 只能查找到第一个  );
console.log(newArr); 
  1. 取巧的对象方法,同样是循环旧数组,当不存在的时候,给对象添加一个key。