zoukankan      html  css  js  c++  java
  • 数组去重方法总结

    方法1 filter和indexOf(能区分数字1和字符串‘1’):

    function unique(arr){
      return arr.filter((item,index,array) => {
        return array.indexOf(item) >= index
      })
    }

    方法2 循环加splice(能区分数字1和字符串'1',可改造用于对象比较):

    function unique(arr){
      var len = arr.length;
      for(var i=0;i<len-1;i++){
        for(var j=i+1;j<len;j++){
          if(arr[i] === arr[j]){
            arr.splice(j,1);
          }
        }
      }
    }

    方法3 hash检测类型(能区分数字1和字符串‘1’)

    function unique(arr){
      var hash = {},res = [];
      var item,key;
      for(var i=0,len=arr.length;i<len;i++){
        item = arr[i];
        key = typeof(item) + item;
        if(!hash[key]){
          hash[key] = true;
          res.push(item);
        }
      }
      return res;
    }

    方法4 hash覆盖(不能区分数字1和字符串‘1’)

    function unique(arr){
      var hash = {};
      for(var i=0,len=arr.length;i<len;i++){
        hash[arr[i]] = arr[i];
      }
      return Object.keys(hash);
    }

  • 相关阅读:
    python接口测试3-JSON格式
    python接口测试2-开发WEB接口
    接口测试1-基础
    Apifox接口测试管理工具
    python的pip安装超时问题解决
    ubuntu解决安装速度问题
    vim进入粘贴模式
    禅道数据库
    内存管理
    文件操作
  • 原文地址:https://www.cnblogs.com/mengff/p/6838884.html
Copyright © 2011-2022 走看看