js Array 数组方法扩展

Posted Tiger95

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();
}

以上是关于js Array 数组方法扩展的主要内容,如果未能解决你的问题,请参考以下文章

原生JS-数组扩展

原生JS-数组扩展

js数组方法扩展

js代码片段: utils/lcoalStorage/cookie

[原创]获取JS数组最大值最小值

几个关于js数组方法reduce的经典片段