取两个数组的非交集合并一起
思路:
遍历太麻烦了。先分后合会简单很多。
数组合并-contcat
求非交集-arr1中,求arr2没有的;arr2同理。indexOf()可返回-1,嵌入filter中
所以我们可以将arr1和arr2分别求非交集,再合并
非交集:a.filter(b.indexOf)
function diff(arr1, arr2) {
var newArr = [];
// Same, same; but different.
newArr=arr1.filter(function(value){return arr2.indexOf(value)==-1;})
return arr2.indexOf(value)==-1;
}).concat(arr2.filter(function(value){return arr1.indexOf(value)==-1;}));
return newArr;
}
网友评论