zoukankan      html  css  js  c++  java
  • 比较经典的数组去重和数组排序

    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;
    
    }
    

      

      

      

      

      

  • 相关阅读:
    关于Windows窗口框架
    如何获取桌面截图
    浅析Windows安全相关的一些概念
    怎样才算会一门编程语言
    COM思想的背后
    XP之后Windows的一些变化
    智能指针与库
    SOUI开发应用展示2
    在SOUI中支持高分屏显示
    SOUI Editor使用教程
  • 原文地址:https://www.cnblogs.com/WaTa/p/5498033.html
Copyright © 2011-2022 走看看