美文网首页
数组去重

数组去重

作者: 早起的月亮 | 来源:发表于2022-08-30 18:54 被阅读0次

    数据去重的方法虽然有很多,但是原理基本都一样,这边我简单的列举了一些我个人认为比较具有代表性的方法 。

    1. new Set()

    var list = [1,1,2,3,4,5,6,4,5,6,7,4,3]
    var newList = []
    // 第一步 去重 ,此时newList 的类型为object,是一个类数组
    newList = new Set(list) 
    // 第二步 类型转换, 把类数组转换为数组 
    newList = Array.from(newList) 
    

    2. sort()

    var list = [1,1,2,3,4,5,6,4,5,6,7,4,3]
    var newList = []
    
    list.sort((a,b)=>{
         return a-b
    })
     
    for(let i=0;i<list.length;i++){
    
        if(list[i] !== list[i+1] ){
    
            newList.push(list[i])
    
        }
    }
    

    3. reduce()

    var list = [1,2,3,4,5,1,3,4,5,6] 
    list = list.reduce((pre,cur)=>{
        pre.includes(cur) ? "" : pre.push(cur)
        return pre
    },[])
    

    4. indexOf()

    var list = [1,1,2,3,4,5,6,4,5,6,7,4,3]
    var newList = []
    for(let i = 0;i<list.length;i++){
        if(newList.indexOf(list[i]) == -1){
            newList.push(list[i])
        }
    }
    console.log(newList)
    

    5. 双重for循环

    var list = [1,1,2,3,4,5,6,4,5,6,7,4,3]
    var newList = []
    var flag;
    for(let i =0;i<list.length;i++){
        flag = false
    
        for(let j = 0;j<newList.length;j++){
    
            if(list[i] == newList[j]){
                flag = true
            }
            
        }
    //如果flag == false,表示newList里面不存在相同的。
        if(!flag) {
            newList.push(list[i])
        }
    }
    

    相关文章

      网友评论

          本文标题:数组去重

          本文链接:https://www.haomeiwen.com/subject/uoxrnrtx.html