zoukankan      html  css  js  c++  java
  • 数组去重

    方法一   set 数组去重
    定义一个函数 实现数组去重   返回去重后的数组
         function norepeat( arr ){
                var set = new Set( arr );
                return Array.from( set );(返回去重后的数组)
                return Array.from( new Set(arr) );
                return [...new Set(arr)];(最短的去重办法)
       }
          }Set(arr)];
       }
     
    方法二
    思路:先将数组按照一定的顺序排好(升序或降序),用数组相邻的两个数做比较,如果相邻的两个数不相等,就将前一个数存入到新数组中
         编写函数has(arr , num) 判断数组中是否存在num这个元素,返回布尔类型
    function has(arr,num){   
              for( var i = 0 ; i < arr.length ; i++ ){
                  if( arr[i] == num ){
                       return true; // 有
                  }
              }
              return false;//没有
         } 
    function norepeat2( arr ){
                //先将数组进行排序
                arr.sort( function(a,b){
                      return a-b>0;
                } )
                var newarr = [];//存储去重后的数据
                //遍历原数组 比较相邻的两个数
                for( var i = 0 ; i < arr.length ; i++ ){
                      if( arr[i] != arr[i+1] ){
                            newarr.push( arr[i] );
                      }
                }
                return newarr;
          }
          
          var res = norepeat2( [34,2,34,2,45,67,45,67,56,2] );
          alert( res );
     
    方法三
    思路:定义一个空数组 , 遍历原数组,判断原数组中的每一个数在空数组中是否存在,如果不存在 ,就将这个数 存入到 空数组中  
         编写函数has(arr , num) 判断数组中是否存在num这个元素,返回布尔类型
    function has(arr,num){   
              for( var i = 0 ; i < arr.length ; i++ ){
                  if( arr[i] == num ){
                       return true; // 有
                  }
              }
              return false;//没有
         }   
     function norepeat( arr ){ //arr就是要去重的数组 (原数组)
                var newarr = [];//空数组 用来存储去重后的数据
                for( var i = 0 ; i <arr.length ; i++ ){
                      //var res =  has( newarr,arr[i] );
                      if( !has( newarr,arr[i] ) ){ //不存在
                            newarr.push( arr[i] );
                      }
                }
                return newarr;
          }
    var res = norepeat2( [34,2,34,2,45,67,45,67,56,2] );
         alert( res );
  • 相关阅读:
    数据攻略●R语言自述
    测试实例
    xml反射
    过滤器
    使用s标签来进行简单的表格配置
    将Spring、Hibernate、Struts2连接起来
    Spring容器
    初见Spring框架
    Spring框架的AOP
    Hibernate里面的几个方法
  • 原文地址:https://www.cnblogs.com/tis100204/p/10297527.html
Copyright © 2011-2022 走看看