두 개의 숫자 배열, 즉 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]