자바스크립트 두 배열의 합집합 구하기

자바스크립트에서는 두 개의 배열의 합집합을 찾는 방법에 대해 알아보겠습니다.

합집합은 두 개의 배열에 있는 모든 고유한 요소를 포함하는 배열을 의미합니다. 즉, 두 배열을 모두 합한 후 중복 요소를 제거한 배열을 얻는 것을 목표로 합니다.

방법 1: Set을 사용하여 중복 제거

가장 간단하고 효율적인 방법은 JavaScript의 Set을 사용하여 중복을 제거하는 방법입니다. Set은 중복 요소 없이 유일한 값만을 저장하는 자료구조입니다.

const array1 = [1, 2, 3, 4, 5];
const array2 = [4, 5, 6, 7, 8];

const set = new Set([...array1, ...array2]);
const unionArray = Array.from(set);

console.log(unionArray);
// 출력: [1, 2, 3, 4, 5, 6, 7, 8]

위 코드에서는 우선 array1array2를 합친 후 Set으로 변환합니다. Set은 중복된 값을 자동으로 제거해줍니다. 그리고 다시 배열로 변환하여 unionArray 변수에 저장합니다.

방법 2: 반복문을 사용하여 중복 제거

만약 Set을 사용할 수 없는 환경이라면 반복문을 사용하여 중복을 제거할 수도 있습니다.

const array1 = [1, 2, 3, 4, 5];
const array2 = [4, 5, 6, 7, 8];

const unionArray = [];

// array1의 요소를 unionArray에 추가
for (let i = 0; i < array1.length; i++) {
  if (!unionArray.includes(array1[i])) {
    unionArray.push(array1[i]);
  }
}

// array2의 요소를 unionArray에 추가
for (let j = 0; j < array2.length; j++) {
  if (!unionArray.includes(array2[j])) {
    unionArray.push(array2[j]);
  }
}

console.log(unionArray);
// 출력: [1, 2, 3, 4, 5, 6, 7, 8]

위 코드는 먼저 빈 배열인 unionArray를 생성한 후, 반복문을 사용하여 array1array2의 요소를 하나씩 확인하면서 중복되지 않는 요소만 unionArray에 추가합니다.

결론

두 개의 배열의 합집합을 구하는 방법에 대해 알아보았습니다. Set을 사용하는 방법은 간결하고 효율적입니다. 그러나 Set을 사용할 수 없는 경우에는 반복문을 사용하여 중복을 제거할 수 있습니다. 어떤 방법을 선택하든, 원하는 결과인 두 배열의 합집합을 얻을 수 있을 것입니다.