new Set 去重
const arr = [1,2,3,4,4,4]
console.log([...new Set(arr)]) // 输出 [1,2,3,4]
reduce 去重
const arr = [1,2,3,4,4,4]
// reduce(pre,cur,index,arr) per上一次的值,cur当前的值,index下标,arr原数组
const arr2 = arr.reduce((pre,cur)=>{
pre.indexOf(cur) === -1 && pre.push(cur)
return pre
},[])
console.log(arr2) // 输出 [1,2,3,4]
filter 去重
const arr = [1,2,3,4,4,4]
const arr2 = arr.filter((item,index,arr)=>(arr.indexOf(item)===index))
console.log(arr2) // 输出 [1,2,3,4]
for 循环去重
const arr = [1,2,3,4,4,4]
arr.sort()
let arr2
for(let i = 0 ; i<arr.length;i++){
if(arr[i+1] !== arr[i]){
arr2.push(arr[i])
}
}
console.log(arr2) // 输出 [1,2,3,4]