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

    1、定义一个新数组,并存放原数组的第一个元素,然后将原数组一一和新数组的元素对比,若不同放在新数组中

    function unique(arr){
        var res = [arr[0]];
      for(var i=1;i<arr.length;i++){
        var repeat = false;
        for(var j=0;j<res.length;j++){
          if(arr[i] == res[j]){
            repeat = true;
            break;
          }
        }
        if(!repeat){
          res.push(arr[i]);
        }
      }
      return res;
      }
    

     

    2、先排序再去重,(先将原数组排序,再与相邻的进行比较,如果不同则存入新数组)

    function unique(arr){
        var arr2 = arr.sort();//排序
        var res = [arr2[0]];
        for(var i=0;i<arr2.length;i++){
            //遍历arr2,判断arr2[i]与新数组的的最后一位比较,不等,则push进数组
            if(arr2[i]!=res[res.length-1]){
              res.push(arr2[i])
            }
          }
        return res;
      }
    

      

    3、利用对象属性去重

    function unique(arr){
          var newArr=[]
          var obj={}
          for(var i=0;i<arr.length;i++){
            if(!obj[arr[i]]){
                obj[arr[i]]=1 (切记,不能等于0,不然等于没有操作)
                newArr.push(arr[i])
            }
          }
          return newArr
        }
    

      

    4、利用数组下标属性去从重

    当数组中没有该项的时候,返回-1,否则返回该项的索引值

    function unique(arr){
         var newArr = [arr[0]];
         for(var i=1;i<arr.length;i++){
        if(newArr.indexOf(arr[i]) == -1){
                 newArr.push(arr[i]);
            }
            }
            return newArr;
          }
    

      

  • 相关阅读:
    CentOS python升级到3.5时yum报错
    CentOS 7将Python 2.X.X升级到Python 3.X.X
    PL SQL Developer报错框乱码
    php遍历目录下文件,并读取内容
    Linux常用命令
    CentOS6.4安装go环境
    CentOS/RedHat rpm方式安装Apache2.2
    在Wamp 添加站点和域名
    印象笔记的导入与导出
    用csv文件读写一个人脸数据库,实现能够并显示对应的人脸结果
  • 原文地址:https://www.cnblogs.com/xumqfaith/p/9130447.html
Copyright © 2011-2022 走看看