SOURCE

// 你能想到几种方法
// 双层for循环
// filter筛选/indexOf
// reduce累加器
// es6 set

///////////// 双层for循环
function first(str){
    let arr = []
    for(let i = 0; i < str.length ; i++){
        let status = false
        for(let j = i+1;j<str.length;j++){
            if(str[i] == str[j]){
                status = true
            }
        }
        if(!status) arr.push(str[i])
    }
    return arr
}
let str = [1,2,1,3,2,3,4,5,5,4]
// console.log(first(str))

///////////// filter筛选器 indexOf返回数与下标是否匹配
function second(str){
    return str.filter((val, index)=>{
        return str.indexOf(val) === index
    })
}
// console.log(second(str))
//////////// 累加器 reduce
function third(str){
    return str.reduce((per,cur)=>{
        let arr = per
        arr.includes(cur)? arr : arr.push(cur)
        return arr
    },[])
}
// console.log(third(str))

/////////// es6 set
function fourth(str){
    return Array.from(new Set(str))
}
console.log(fourth(str))

console 命令行工具 X clear

                    
>
console