zoukankan      html  css  js  c++  java
  • 去除数组中的重复元素的方法

    1、去重

    清除数组中重复出现的元素:

      var    arr1 = [ 1,3,3,4,4 , 4,"aba","aba" ];   //数组字面量的形式创建数组。

      var    arr2 = [ ];

      for ( var i=0; i<arr1.length; i++){

        if(arr2.indexOf(arr1[i])<0){          // 在数组arr2中匹配是否有arr[i]这个元素存在,有就返回这个元素在数组中的下表位置,没有匹配返回-1

          arr2.push(arr1[i]);

        }

      }

      console.log(arr2);    在控制台(f12 热键打开开发者工具)输出的结果是

        1 , 3 , 4 , "aba"

    2、计算出现重复的次数

        var    arr1 = [ 1,3,3,4,4,4,"aba","aba" ];
        var    obj = {};
        for( var  i=0 ;i< arr1.length; i++){
          if( !obj[arr1[i]] ){                      //访问对象属性的方式
            obj[arr1[i]] = 1;               //设置对象属性
          }
          else{
            obj[arr1[i]]++;          
          }
        }
           for (key in obj){
            console.log(key+":"+obj[key]);    
           }

    3、依据数组清除重复元素的原理,查找字符串中重复出现的字母;

      var   str = "abareevadrgr";

      var  str2 = "";                    // 存放重复的元素

      var   arr1 =str.split("");     //将字符串转换成数组。

      var   arr2 =  [ ];

      for (var i =0 ; i<arr1.length ; i++){

        if( arr2.indexOf(arr1[i])<0){

          arr2.push(arr[i]);                   //  起到一个中转战的作用,以此来排除重复元素。  

        }

        else{

          if(str2.indexOf(arr1[i])<0){       //这个字母在字符串 str 中可能出现多次,所以要再判断,避免将重复的元素全部输出。

          str2+=arr1[i];

        }

       }

      }

      console.log(str2);  在控制台输出的结果是   aer

  • 相关阅读:
    【转】XP下安装IIS6.0的办法
    设计模式学习笔记十:单例模式(Singleton Pattern)
    linq学习笔记(2):DataContext
    设计模式学习笔记十二:桥接模式(Bridge Pattern)
    英文版c#数据结构
    linq学习笔记(3):Where
    一步步学习WCF(1):Hello
    linq学习笔记(5):Count/Sum/Min/Max/Avg
    [转]Asp.Net 面试题目收集
    从谷歌公司发现的十个至理名言
  • 原文地址:https://www.cnblogs.com/vonson/p/7535123.html
Copyright © 2011-2022 走看看