彩世界平台-彩世界时时app-彩世界开奖app苹果下载

热门关键词: 彩世界平台,彩世界时时app,彩世界开奖app苹果下载

您的位置:彩世界平台 > 学会党委 > js Array 数组方法扩展

js Array 数组方法扩展

发布时间:2019-09-05 05:14编辑:学会党委浏览(122)

       看了一段时间关于js原型的知识,js的扩展方法是基于原型的,如Array.prototype.XXXX就是给Array扩展XXX方法,然后数组都能使用这个方法了。

    js Array 数组方法扩展

    //去重复
      Array.prototype.unique = function()
     {
        this.sort();
        var re=[this[0]];
        for(var i = 1; i < this.length; i++)
        {
            if( this[i] !== re[re.length-1])
            {
                re.push(this[i]);
            }
        }
        return re;
     }
    
     //并集
     Array.prototype.union = function(a)
     {
       return this.concat(a).unique(); 
    
     }
     //差集
     Array.prototype.minus = function(a)
     { 
        var result =[];
        var clone = this;
          for(var i=0; i < clone.length; i++)
          {
              var flag = true; 
              for(var j=0; j < a.length; j++)
              {   
                if(clone[i] == a[j])   
                flag = false;   
              }   
            if(flag)   
            result.push(clone[i]); 
    
          }
    
        return result.unique(); 
    
     }
    // 交集
    Array.prototype.intersect = function(b) { 
        var result = [];
        var a = this;
        for(var i = 0; i < b.length; i ++) {
            var temp = b[i];
            for(var j = 0; j < a.length; j ++) {
                if(temp === a[j]) {
                    result.push(temp);
                    break;
                }
            }
        }
        return result.unique();
    }
    

    Array 数组方法扩展 //去重复 Array.prototype.unique = function() { this.sort(); var re=[this[彩世界时时app,0]]; for(var i = 1; i this.length; i++) { if( this[i] !== re[re.length-1]) {...

    彩世界开奖app苹果下载,  在对象数组里面经常有根据属性来进行排序的,升序,降序的,于是自己就想写一个类似于C#里面的orderBy的方法,代码如下:

      代码如下:

      Array.prototype.OrderByAsc = function (func) {

    彩世界平台,  var m = {};

      for (var i = 0; i < this.length; i++) {

      for (var k = 0; k < this.length; k++) {

      if (func(this[i]) < func(this[k])) {

      m = this[k];

      this[k] = this[i];

      this[i] = m;

      }

      }

      }

      return this;

      }

      Array.prototype.OrderByDesc = function (func) {

      var m = {};

      for (var i = 0; i < this.length; i++) {

      for (var k = 0; k < this.length; k++) {

      if (func(this[i]) > func(this[k])) {

    本文由彩世界平台发布于学会党委,转载请注明出处:js Array 数组方法扩展

    关键词: