zoukankan      html  css  js  c++  java
  • 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();
    }
  • 相关阅读:
    如何学习WindDbg
    如何在程序中嵌入google的V8 Javascript引擎
    理解程序内存
    如何学习Windows编程
    如何让窗口控件半透明
    Sessions, Window Stations and Desktops
    QQ截图时窗口自动识别的原理
    为什么设计模式在C++社区没有Java社区流行?
    当年写的俄罗斯方块
    如何判断一个C++对象是否在堆上
  • 原文地址:https://www.cnblogs.com/tiger95/p/7345586.html
Copyright © 2011-2022 走看看