Set 去重
const arr1 = [1, 1, 2, 2, 3, 5];
const arr1Set = [...new Set(arr1)];
console.log('旧数组:', arr1)
console.log('去重后数组:', arr1Set)
filter + indexOf 去重
const arr2 = [1, 1, 2, 2, 3, 5];
const arr2Filter = arr2.filter((item, index)=>{
return arr2.indexOf(item) === index;
})
console.log('旧数组:', arr2)
console.log('去重后数组:',arr2Filter)
reduce 去重
const arr3 = [1, 1, 2, 2, 3, 5];
const arr3Reduce = arr3.reduce((newArr, item) =>{
if(newArr.indexOf(item) === -1) {
newArr.push(item)
}
return newArr;
}, [])
console.log('旧数组:', arr3)
console.log('去重后数组:',arr3Reduce)
Map 去重
const arr4 = [1, 1, 2, 2, 3, 5];
const map1= new Map();
const arr4Map = arr4.filter((item,index) => {
if(!map1.has(item)) {
map1.set(item, true);
return true;
}
return false;
})
console.log('旧数组:', arr4)
console.log('去重后数组:',arr4Map)