Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript:构造一个函数,比较输入数组并返回一个新数组,其中包含在所有输入中找到的元素_Javascript_Arrays_Function_Loops_Intersection - Fatal编程技术网

javascript:构造一个函数,比较输入数组并返回一个新数组,其中包含在所有输入中找到的元素

javascript:构造一个函数,比较输入数组并返回一个新数组,其中包含在所有输入中找到的元素,javascript,arrays,function,loops,intersection,Javascript,Arrays,Function,Loops,Intersection,我试图构造一个函数交集,它比较输入数组并返回一个新数组,其中包含在所有输入中找到的元素 下面是我的代码: function intersection (arr){ let newArray = []; let concatArray = arr.reduce((a,e) => a.concat(e), []) //let uniqueArray = Array.from(new Set(concatArray)); // console.log(concatArra

我试图构造一个函数交集,它比较输入数组并返回一个新数组,其中包含在所有输入中找到的元素

下面是我的代码:

function intersection (arr){

  let newArray = []; 

  let concatArray = arr.reduce((a,e) => a.concat(e), [])
  //let uniqueArray = Array.from(new Set(concatArray));

  // console.log(concatArray)

  for (let i=0; i<concatArray.length; i++){
    let element = concatArray[i]; 

    concatArray.shift()

    if (concatArray.includes(element)){
      newArray.push(element); 
    }

  }
  return newArray; 
}

const arr1 = [5, 10, 15, 20];
const arr2 = [15, 88, 1, 5, 7];
const arr3 = [1, 10, 15, 5, 20];
console.log(intersection([arr1, arr2, arr3])); // should log: [5, 15]
功能交叉口(arr){
设newArray=[];
让concatArray=arr.reduce((a,e)=>a.concat(e),[]))
//让uniqueArray=Array.from(新集合(concatArray));
//控制台日志(concatArray)

对于(设i=0;i您只需使用
.filter()
.every()
方法即可获得所需的输出:

const arr1=[5,10,15,20];
常数arr2=[15,88,1,5,7];
常数arr3=[1,10,15,5,20];
常量交点=([first,…rest])=>first.filter(
v=>rest.every(arr=>arr.includes(v))
);
console.log(交叉点([arr1,arr2,arr3]);