数组去重

66 阅读1分钟

方法一:indexOf()

var arr1 =  [1,5,2,3,4,2,3,1,3,4];
var arr2 = [];
for(var i=0; i<arr1.length; i++){
    if(arr1.indexOf(arr1[i]) == i){
        arr2.push(arr1[i])
    }
}
console.log(arr2) 

方法二:ES6 set

var arr1 = [1,5,2,3,4,2,3,1,3,4];
var arr2 = new Set(arr1);

console.log([...arr2]) 

方法三:reduce

let arr=[1,5,2,3,4,2,3,1,3,4];
let result=arr.reduce((prev,cur,index,arr)=>{
    prev.indexOf(cur)===-1?prev.push(cur):prev;
    return prev;
},[])
console.log(result);

方法四:include

let arr=[1,5,2,3,4,2,3,1,3,4];
var newArr=[];
for(var i in arr){
    if(!newArr.includes(arr[i])){
        newArr.push(arr[i])
    }
}
console.log(newArr)

方法五:map

let arr=[1,5,2,3,4,2,3,1,3,4];
const map = new Map();
arr.filter((item)=>!map.has(item)&&map.set(item,1))