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);
- 取巧的对象方法,同样是循环旧数组,当不存在的时候,给对象添加一个key。