Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

여러 배열의 교집합 찾기 - JavaScript

<시간/>

임의의 수의 배열을 받아 모든 배열에 공통적인 요소의 배열을 반환하는 JavaScript 함수를 작성해야 합니다. 공통 요소가 없으면 빈 배열을 반환해야 합니다.

다음이 우리의 배열이라고 가정해 봅시다 -

const arr1 = [2, 6, 7, 1, 7, 8, 4, 3];
const arr2 = [5, ,7, 2, 2, 1, 3];
const arr3 = [1, 56, 345, 6, 54, 2, 68, 85, 3];

예시

다음은 코드입니다 -

const arr1 = [2, 6, 7, 1, 7, 8, 4, 3];
const arr2 = [5, ,7, 2, 2, 1, 3];
const arr3 = [1, 56, 345, 6, 54, 2, 68, 85, 3];
const intersection = (arr1, arr2) => {
   const res = [];
   for(let i = 0; i < arr1.length; i++){
      if(!arr2.includes(arr1[i])){
         continue;
      };
      res.push(arr1[i]);
   };
   return res;
};
const intersectMany = (...arrs) => {
   let res = arrs[0].slice();
   for(let i = 1; i < arrs.length; i++){
      res = intersection(res, arrs[i]);
   };
   return res;
};
console.log(intersectMany(arr1, arr2, arr3));

출력

이것은 콘솔에 다음과 같은 출력을 생성합니다 -

[2, 1, 3]