数组去重方法汇总

var arr = [2,2,33,4,1,5,33,4,4,7,8]

ES6

1,forEach

const unique1 = arr => {
    let obj = {}
    arr.forEach (value =>{
        obj[value] = 0
    })
    console.log(obj)
    return Object.keys(obj)
}
console.log(unique1(arr))      // ["1", "2", "4", "5", "7", "8", "33"]

2,filter

const unique2 = arr => {
    return arr.filter( (el,index,array) => {
        return index === array.indexOf(el)
    })
}
console.log(unique2(arr))      // [2, 33, 4, 1, 5, 7, 8]

3,set

const unique3 = arr => {
    return [...new Set(arr)]
}
console.log(unique3(arr))       // [2, 33, 4, 1, 5, 7, 8]
原文地址:https://www.cnblogs.com/cn-andy/p/8608008.html