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

JavaScript에서 배열의 고유한 교차점

<시간/>

두 개의 숫자 배열, 즉 arr1과 arr2를 취하는 JavaScript 함수를 작성해야 합니다. 함수는 배열 요소 사이의 교차점을 찾아야 합니다. 즉, 두 배열에 모두 나타나는 요소입니다.

유일한 조건은 이전에 교차된 한 요소를 만난 경우 두 배열에 다시 나타나더라도 다시 고려하지 않아야 한다는 것입니다.

예:

입력 배열이 -

인 경우
const arr1 = [1, 5, 7, 3, 1];
const arr2 = [1, 7, 3, 1, 6];

그러면 출력 배열은 -

여야 합니다.
const output = [1, 3, 7];

하지만 순서는 그다지 중요하지 않으며, 더 중요한 것은 반복적인 교차를 고려하지 않는 것입니다.

예시

다음은 코드입니다 -

const arr1 = [1, 5, 7, 3, 1];
const arr2 = [1, 7, 3, 1, 6];
const uniqueIntersection = (arr1, arr2) => {
   const map = new Set();
   const res = [];
   arr1.forEach(el => map.add(el));
   arr2.forEach(el => {
      if (map.has(el)) {
         res.push(el);
         map.delete(el);
      };
   });
   return res;
};
console.log(uniqueIntersection(arr1, arr2));

출력

다음은 콘솔의 출력입니다 -

[1, 7, 3]