zoukankan      html  css  js  c++  java
  • 5.去重(去掉数组中重复的数据)

    方法一: 

            /*
             * 1.创建一个新数组,把原数组中的第一个元素插入到新数组中
             * 2.遍历原数组中的每一个元素分别和新数组中的每一个元素进行比较
             */
            //原数组
            var arr = [8,11,20,5,20,8,0,2,4,0,8];
            // 新数组
            var  t = [];//var  t = [8,11];
            t[0] = arr[0];
            //arr中的每个元素
            for(var i=0;i<arr.length;i++){
                //t中的每个元素
                for(var k = 0;k<t.length;k++){
                        
                    //当原数组中的值和新数组中的值相同的时候,就没有必要再继续比较了,跳出内循环
                    if(t[k] == arr[i]){
                    break;
                    }
                 //拿原数组中的某个元素比较到新数组中的最后一个元素还没有重复
                if(k == t.length-1){
                        //将数据插入新数组
                        t.push(arr[i]);
                    }
                }
            }
            console.log(t);    

    方法二:

      

    //每一个元素和其右边元素都对比下,如果相同,则删除后面那个元素
            var arrNew = [3,6,23,7,9,4,7,4];
            for( var i = 0 ; i < arrNew.length ; ++i){
                for( var j = i+1 ; j < arrNew.length; ++j){
                    if(arrNew[i] == arrNew[j]){
                        arrNew.splice(j,1);
                        j--;
                    }
                }
            }
            console.log(arrNew);

     方法三:
      放入集合中(集合会自动去重),然后再将集合中的元素组成新数组。

    var arr=[3,6,23,7,9,4,7,4];
    var set1=new Set(arr);
    var new_arr=[];
    for(let item of set1){
        new_arr.push(item);
    }
    console.log(new_arr); // [3, 6, 23, 7, 9, 4]
  • 相关阅读:
    UVALive
    BZOJ2120:数颜色(数状数组套主席树)(带修改的莫对)
    BZOJ-3439:Kpm的MC密码(Trie+DFS序+主席树)
    51nod1674:区间的价值2(分治,利用&和|的收敛性)
    [CQOI2009]DANCE跳舞
    [HNOI2006]超级英雄
    Luogu1613 跑路
    [HZOI 2016]公路修建
    [NOI2014]魔法森林
    [HAOI2006] 旅行
  • 原文地址:https://www.cnblogs.com/FlyingLiao/p/9864648.html
Copyright © 2011-2022 走看看