我想比较两个数组,并返回一个新数组,其中包含仅在两个给定数组之一中找到的任何项目,但不能同时返回两个
这是我的代码:
function diffArray(arr1, arr2) {
var newArr = [];
for(var i =0; i <arr1.length ; i++){
if(arr2.indexOf(arr1[i]) < 0){
newArr.push(arr1[i]);
}
}
for(var j =0; j <arr2.length ; j++){
if(newArr.includes(arr2[i]) !== true){
if(arr1.indexOf(arr2[i])<0){
newArr.push(arr2[i])
}
}
}
return newArr;
}
它无法正常工作。首先for循环后的newArr为空,我无法到达错误的地方..预先感谢您的任何想法
答案 0 :(得分:1)
此作品将其嵌入功能
let ad=[1,2,3,4,8,9];
let b=[2,7,8,1];
let k=ad.reduce((o,a)=>{
if(b.indexOf(a) > -1)
{
o.push(a);
}
return o;
},[])
console.log(k);