• 比较经典的数组去重和数组排序


    Array.prototype.unique = function(){
      var res=[];
      var json = {};
      for(var i=0;i<this.length;i++){
         if(!json[this[i]]){
           res.push(this[i]);
           json[this[i]]=1;
         }
      }  
       return res;
    }
    

    数组合并,除了数组自带的方法concat,还可以使用其他的方法。

    a=[1,2,3,4,5,6];

    b=["foo","bar","fun"];

    1、使用for循环来实现:

    1 for(var i=a.length-1;i>=0;i--){
    2   a.unshift(a[i]);  
    3 }

    2、使用apply

    //在a的基础上添加b
    a.push.apply(a,b);
    
    //在b的基础上添加a
    b.unshift.apply(b,a)
    

    3、避免最大限度的限制。

    function combinationInto(a,b){
       var len = a.length;
       for(var i=0;i<len;i=i+5000){
          b.unshift.apply(b, a.slice(i,i+5000));
    }
    }
    

    数组排序

    1、数组的自带方法sort(),可以设置是按正序,或者按倒序

    function compare(a, b){
         return a-b;
    }
    sort(compare());

    2、冒泡排序

    function bubble(argument){
       var len=argument.length,temp;
       for(var i=0;i<len;i++){
          for(var j=0;j<len-1;j++){
             if(argument[j]>argument[j+1]){
                temp = argument[j];
                argument[j] = argument[j+1];
                argument[j+1] = temp;
             }
          }
    
       }  
        return   argument;
    }
    

    3、插入排序

    var len = arr.length;
      for(var i=1;i<len;i++){
    
        var temp = arr[i];
    		var tp;
        for(var j=i-1;j>=0;j--){
    
          if(temp>arr[j]){
    				tp = arr[j]
            arr[j] = arr[j+1];
    				arr[j+1] = tp;
    
          }else{ 
            break;
          }
    
        }   
    
      }
    return arr;
    
    }
    

      

      

      

      

      

  • 相关阅读:
    iscsi-分区类型
    NFS
    测试目录
    测试
    函数
    循环、枚举、条件判断、选择排序
    格式化、列表、元组、字典、集合
    常量、注释、变量、堆栈、数据类型、强制转换
    站点迁移至https://traceless.site/
    CENTOS7 源码安装NGINX
  • 原文地址:https://www.cnblogs.com/WaTa/p/5498033.html
Copyright © 2020-2023  润新知