两个数组的区别javascript

时间:2019-01-03 06:53:39

标签: javascript arrays

我想比较两个数组,并返回一个新数组,其中包含仅在两个给定数组之一中找到的任何项目,但不能同时返回两个

这是我的代码:

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为空,我无法到达错误的地方..预先感谢您的任何想法

1 个答案:

答案 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);