SOURCE

// 数组去重--2022-06-14
// 一维数组
var array1 = [undefined, 8, 9, 10, 9, 9, 4, 6, undefined]

/* 方法1:
.filter:arr.indexOf(value)首次值为value的index。
如果index==首次值为value的index,那么我就返回这个元素。
*/
let arr_1 = array1.filter((value, index, arr) => {
    // console.log('value===', value, index)
    // console.log('indexof===', array1.indexOf(value))
    return index === array1.indexOf(value)
})
console.log(arr_1)

/*方法2:
   只利用indexOf
 */

function unique(arrIn) {
    var result = []
    for (var i = 0; i < arrIn.length; i++) {
        if (result.indexOf(arrIn[i]) === -1) {
            result.push(arrIn[i])
        }
    }
    return result
}
console.log('uniquearr_1',unique(array1))


/* 方法3:
    利用map改写方法2*/

function unique2(arrIn){
    var result2 = []
    arrIn.map((value,index)=>{
        if(result2.indexOf(value)===-1){
            result2.push(value)
        }
    })
    return result2
}
console.log('uniquearr_2',unique2(array1))

// 方法4:直接利用set

let uniquearr_3 = [...new Set(array1)]
console.log('uniquearr_3',uniquearr_3)
console 命令行工具 X clear

                    
>
console