소개
이 랩에서는 JavaScript 를 사용하여 제공된 함수를 기반으로 두 배열 간의 대칭 차이 (symmetric difference) 를 찾는 방법을 살펴봅니다. Array.prototype.filter() 및 Array.prototype.findIndex() 메서드를 사용하여 두 배열의 요소를 비교하고 각 배열에 고유한 값을 반환합니다. 이 랩을 마치면 JavaScript 에서 이러한 메서드를 사용하여 배열을 비교하고 조작하는 방법에 대한 이해도가 높아질 것입니다.
배열 대칭 차이 (Symmetric Difference) 를 찾는 함수
제공된 함수를 비교자 (comparator) 로 사용하여 두 배열 간의 대칭 차이를 찾으려면 다음 단계를 따르세요.
- 터미널/SSH 를 열고
node를 입력하여 코딩 연습을 시작합니다. Array.prototype.filter()및Array.prototype.findIndex()메서드를 사용하여 적절한 값을 찾습니다.- 주어진 코드를 사용하여 작업을 수행합니다.
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 에서 더 많은 랩을 연습하여 실력을 향상시킬 수 있습니다.