手写数组去重(一)

let arr = [1,2,2,3,4,2,5,7,1,4,2,5,6,3,7,3,5,4,3,]
// 第一种 双重for和splice截取
// function unique (arr) {
// for(let i = 0; i<arr.length;i++){
// for(let j = i + 1; j<arr.length;j++){
// if(arr[i] === arr[j]){
// arr.splice(j,1)
// j--
// }
// }
// }
// return arr
// }

    // 第二种 filter和indexOf
    // function unique (arr) {
    //     return arr.filter((item,index)=> {
    //         return arr.indexOf(item) === index
    //     })
    // }

    // 第三种 filter和hasOwnProperty
    // function unique (arr) {
    //     let obj = {}
    //     return arr.filter(item => {
    //         // obj没有这个属性,就往obj去添加
    //         return obj.hasOwnProperty(item + typeof item) ? false : obj[item + typeof item] = true
    //     })
    // }

    // 第四种
    // function unique (arr) {
    //     return [...new Set(arr)]
    // }

    // 第五种 使用loadsh里的uniq方法
    let list = unique(arr)
    console.log(list, 21);
posted @ 2022-04-03 10:30  小白张先生  阅读(69)  评论(0)    收藏  举报