함수를 기반으로 한 배열 합집합

Beginner

This tutorial is from open-source community. Access the source code

소개

이 랩에서는 JavaScript 의 함수를 기반으로 배열 합집합을 구현하는 방법을 배웁니다. 제공된 비교자 함수를 사용하여 두 배열 중 하나 이상에 한 번 이상 존재하는 모든 요소를 찾아 반환합니다. 랩을 마치면 Array.prototype.findIndex() 메서드와 Set 객체를 사용하여 배열을 비교하고 결합하는 방법에 대한 이해도가 높아질 것입니다.

함수를 기반으로 두 배열의 합집합을 찾는 방법

Node.js 를 사용하여 함수를 기반으로 두 배열의 합집합을 찾으려면 다음 단계를 따르세요.

  1. 터미널/SSH 를 열고 node를 입력합니다.
  2. Array.prototype.findIndex()를 사용하여 비교자가 a에서 일치하는 항목을 찾지 못하는 a의 모든 값과 b의 값을 사용하여 Set을 만듭니다.
const unionWith = (a, b, comp) =>
  Array.from(
    new Set([...a, ...b.filter((x) => a.findIndex((y) => comp(x, y)) === -1)])
  );
  1. unionWith 함수를 세 개의 인자 (첫 번째 배열, 두 번째 배열, 비교자 함수) 와 함께 호출합니다.
  2. 이 함수는 제공된 비교자 함수를 사용하여 두 배열 중 하나 이상에 한 번 이상 존재하는 모든 요소를 반환합니다.
  3. unionWith 함수를 호출하는 예는 다음과 같습니다.
unionWith(
  [1, 1.2, 1.5, 3, 0],
  [1.9, 3, 0, 3.9],
  (a, b) => Math.round(a) === Math.round(b)
);
// [1, 1.2, 1.5, 3, 0, 3.9]

이것은 두 배열의 합집합으로 [1, 1.2, 1.5, 3, 0, 3.9]를 반환합니다.

요약

축하합니다! 함수 기반 배열 합집합 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.