[Javscript] 합집합, 교집합, 차집합 (feat. Set)

하태현·2022년 8월 29일
0
post-thumbnail
const a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const b = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19];

// 합집합
const union = (arr1: any[], arr2: any[]) => {
  return new Set([...arr1, ...arr2]);
};

// 교집합
const intersection = (arr1: any[], arr2: any[]) => {
  const set1 = new Set(arr1);
  const set2 = new Set(arr2);
  return new Set([...set1].filter((x) => set2.has(x)));
};

// 차집합
const difference = (arr1: any[], arr2: any[]) => {
  const set1 = new Set(arr1);
  const set2 = new Set(arr2);
  return new Set([...set1].filter((x) => !set2.has(x)));
};
profile
왜?를 생각하며 개발하기, 다양한 프로젝트를 경험하는 것 또한 중요하지만 내가 사용하는 기술이 어떤 배경과 이유에서 만들어진 건지, 코드를 작성할 때에도 이게 최선의 방법인지를 끊임없이 질문하고 고민하자. 이 과정은 앞으로 개발자로 커리어를 쌓아 나갈 때 중요한 발판이 될 것이다.

0개의 댓글