함수를 기반으로 한 배열 대칭 차이

Beginner

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

소개

이 랩에서는 JavaScript 를 사용하여 제공된 함수를 기반으로 두 배열 간의 대칭 차이 (symmetric difference) 를 찾는 방법을 살펴봅니다. Array.prototype.filter()Array.prototype.findIndex() 메서드를 사용하여 두 배열의 요소를 비교하고 각 배열에 고유한 값을 반환합니다. 이 랩을 마치면 JavaScript 에서 이러한 메서드를 사용하여 배열을 비교하고 조작하는 방법에 대한 이해도가 높아질 것입니다.

배열 대칭 차이 (Symmetric Difference) 를 찾는 함수

제공된 함수를 비교자 (comparator) 로 사용하여 두 배열 간의 대칭 차이를 찾으려면 다음 단계를 따르세요.

  1. 터미널/SSH 를 열고 node를 입력하여 코딩 연습을 시작합니다.
  2. Array.prototype.filter()Array.prototype.findIndex() 메서드를 사용하여 적절한 값을 찾습니다.
  3. 주어진 코드를 사용하여 작업을 수행합니다.
const symmetricDifferenceWith = (arr, val, comp) => [
  ...arr.filter((a) => val.findIndex((b) => comp(a, b)) === -1),
  ...val.filter((a) => arr.findIndex((b) => comp(a, b)) === -1)
];

예를 들어, 다음 입력을 고려해 보세요.

symmetricDifferenceWith(
  [1, 1.2, 1.5, 3, 0],
  [1.9, 3, 0, 3.9],
  (a, b) => Math.round(a) === Math.round(b)
); // [1, 1.2, 3.9]

위의 코드는 두 배열 간의 대칭 차이로 [1, 1.2, 3.9]를 반환합니다.

요약

축하합니다! 함수 기반 배열 대칭 차이 (Array Symmetric Difference) 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.