美文网首页Web 前端开发 让前端飞
【Javascript】求两个数组的差异,并将差异值组成新数组返

【Javascript】求两个数组的差异,并将差异值组成新数组返

作者: 雨水之后 | 来源:发表于2017-11-30 09:17 被阅读0次

    比如diff([1, 2, 3, 5], [1, 2, 3, 4, 5])就应该会返回一个[4]。

    普通算法:

    function diff(arr1, arr2) {  
      
      //储存新数组  
      var newArr = [];  
        
      //遍历这两个数组  
      for(var i=0;i<arr1.length;i++){  
        if(arr2.indexOf(arr1[i])===-1){  
          newArr.push(arr1[i]);  
        }  
      }  
        
      for(var j=0;j<arr2.length;j++){  
        if(arr1.indexOf(arr2[j])===-1){  
          newArr.push(arr2[j]);  
        }  
      }  
        
      return newArr;  
        
    }  
    

    文艺算法:

    function diff(arr1, arr2) {  
      return arr1.concat(arr2).filter(function(item){  
        if(!arr1.includes(item)||!arr2.includes(item)){  
          return item;  
        }  
      });  
    }  
    

    2B算法:

    function diff(arr1, arr2) {  
      return arr1.concat(arr2).filter(item => !arr1.includes(item)||!arr2.includes(item));  
    }  
    

    THE END.

    相关文章

      网友评论

        本文标题:【Javascript】求两个数组的差异,并将差异值组成新数组返

        本文链接:https://www.haomeiwen.com/subject/tfwmbxtx.html