SOURCE

const arr = [false, true, undefined, null, NaN, 0 ,1, {}, {}, 'a', 'a', NaN]

const reduceArray = (arr) => {
    return Array.isArray(arr) &&
        arr.reduce((total, item) => {
            if (Array.isArray(total)) {
                !total.includes(item) && total.push(item)
            }
            // console.log({item}, total)
            return total
        }, [])
    
}

const mapSetUnique = (arr) => {
    const map = new Map();
    Array.isArray(arr) &&
        arr.forEach((item, index) => {
           !map.has(item) && map.set(index, item)
        })
    return [...map.values()]
}


console.log(mapSetUnique(arr))
console 命令行工具 X clear

                    
>
console