Diff Two Arrays

比较两个数组,然后返回一个新数组,该数组的元素为两个给定数组中所有独有的数组元素。换言之,返回两个数组的差异。

function diff(arr1, arr2) {
  var newArr = [];
  // Same, same; but different.
  //在arr2中挑出arr1中没有的元素
  var a1=arr1.filter(function(item,index,array){
    return (arr2.indexOf(item)<0);
  });
  //在arr1中挑出arr2中没有的元素
  var a2=arr2.filter(function(item,index,array){
    return (arr1.indexOf(item)<0);
  });
  //合并数组中各自独有的部分a1和a2
  newArr=a1.concat(a2); 
  return newArr;
}

diff([1, 2, 3, 5], [1, 2, 3, 4, 5]);

 

posted @ 2016-11-25 12:35  兴趣使然的椰子  阅读(174)  评论(0编辑  收藏  举报