소개
이 랩에서는 JavaScript 에서 배열 교집합의 개념을 탐구합니다. 특히, 두 배열의 각 요소에 제공된 함수를 적용한 후 두 배열 간의 공통 요소를 반환하는 함수를 구현할 것입니다. 이 랩은 JavaScript 에서 고차 함수를 사용하여 배열을 조작하고 일반적인 프로그래밍 문제를 해결하는 방법을 이해하는 데 도움이 될 것입니다.
이 랩에서는 JavaScript 에서 배열 교집합의 개념을 탐구합니다. 특히, 두 배열의 각 요소에 제공된 함수를 적용한 후 두 배열 간의 공통 요소를 반환하는 함수를 구현할 것입니다. 이 랩은 JavaScript 에서 고차 함수를 사용하여 배열을 조작하고 일반적인 프로그래밍 문제를 해결하는 방법을 이해하는 데 도움이 될 것입니다.
두 배열의 각 요소에 함수를 적용한 후 공통 요소를 찾으려면 다음 단계를 따르세요.
node를 입력합니다.const intersectionBy = (a, b, fn) => {
const s = new Set(b.map(fn));
return [...new Set(a)].filter((x) => s.has(fn(x)));
};
a와 b를 배열로, fn을 각 요소에 적용하려는 함수로 바꿉니다.예시:
intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); // [2.1]
intersectionBy(
[{ title: "Apple" }, { title: "Orange" }],
[{ title: "Orange" }, { title: "Melon" }],
(x) => x.title
); // [{ title: 'Orange' }]
첫 번째 예시에서는 함수 Math.floor가 배열 [2.1, 1.2]와 [2.3, 3.4]에 적용되어 공통 요소 [2.1]을 반환합니다.
두 번째 예시에서는 함수 x => x.title이 배열 [{ title: 'Apple' }, { title: 'Orange' }]와 [{ title: 'Orange' }, { title: 'Melon' }]에 적용되어 공통 요소 [{ title: 'Orange' }]을 반환합니다.
축하합니다! 매핑된 배열 교집합 랩을 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.