Web 前端开发 让前端飞

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

2017-11-30  本文已影响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.

上一篇下一篇

猜你喜欢

热点阅读