题目要求
比较两个数组,然后返回一个新数组,该数组的元素为两个给定数组中所有独有的数组元素。换言之,返回两个数组的差异。
相关方法
Array.indexOf(element) 用来判断Array中有没有element
Array.concat(arr1) 用来合并两个数组
源代码
function diff(arr1, arr2) {
var newArr = [];
var SumArr=arr1.concat(arr2); //将两个数组合并
for(var i=0;i<SumArr.length;i++){ //遍历合并后的数组,与两个数组比较
//用indexOf 来判定arr1或arr2中有没有总数组中的元素,即有没有独立元素,若没有则等于-1
if(arr1.indexOf(SumArr[i])==-1||arr2.indexOf(SumArr[i])==-1){
newArr.push(SumArr[i]);//将符合条件的元素push到新数组newArr
}
}
return newArr;
}
diff([1, 2, 3, 5], [1, 2, 3, 4, 5]);
网友评论