数组去重的方法
方法一、 filter()和indexOf()实现去重
let orArray = [1,2,3,4,1,2,3,4]
let unArray = orArray.filter((item,index,array)=>{
return array.indexOf(item) === index
})
console.log(unArray)//结果:[1,2,3,4]
因为indexOf返回它为给定值找到的第一个索引,如果它不是重复值,那么该项的索引必须相同!
方法二、 2、reduce()和includes()实现去重
includes返回一个布尔值——如果在数组中找到该值,则返回true;否则返回false
function unique(arry) {
return arry.reduce((prev, cur) => prev.includes(cur) ? prev : [...prev, cur], []);
}
let arr = [1,2,3,4,5,5,6,null,null,undefined];
console.log(unique(arr));//结果:[1,2,3,4,5,6,null,undefined]
方法三、ES6新增方法Set实现去重
ES6中新增了Set数据结构,类似于数组,但是 它的成员都是唯一的 ,其构造函数可以接受一个数组作为参数
<