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

  • 相关阅读:
    vs 视图其它窗口命令窗口
    WPF 翻转动画实现(转)
    ASP.NET的后台代码和前台JS代码相互调用
    LINQ学习心得分享(三)LINQ语法详解2
    LINQ学习心得分享(二)LINQ语法详解
    《AJAX学习心得分享(三)AJAX+JSON无刷新加载大量后台数据》
    A simple poem
    LINQ学习心得分享(五)LINQ TO SQL实用详解
    LINQ学习心得分享(四)LINQ TO XML实用解析
    AJAX学习心得分享(一)AJAX初识+原生态AJAX
  • 原文地址:https://www.cnblogs.com/vonson/p/7535123.html
Copyright © 2011-2022 走看看