比较两个数组,然后返回一个新数组,该数组的元素为两个给定数组中所有独有的数组元素。换言之,返回两个数组的差异。
function diff(arr1, arr2) {
var newArr = [];
var Arr1 = arr1.filter(function(val){ //使用filter遍历数组arr1,一个个筛选
return arr2.indexOf(val) == -1; //使用indexOf遍历,当val在arr2中没有被搜索到时,index会返回 -1,则提取值为-1的那些元素。
});
var Arr2 = arr2.filter(function(val){ //同上,对arr2进行遍历。
return arr1.indexOf(val) == -1;
});
newArr = Arr1.concat(Arr2); //把提取后的Arr2合并到Arr1中,并放入newArr
// Same, same; but different.
return newArr;
}
diff([1, 2, 3, 5], [1, 2, 3, 4, 5]);