>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 두 배열의 교차점을 어떻게 효율적으로 찾을 수 있습니까?

JavaScript에서 두 배열의 교차점을 어떻게 효율적으로 찾을 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-12-27 12:44:10165검색

How Can I Efficiently Find the Intersection of Two Arrays in JavaScript?

JavaScript의 간편한 배열 교차

배열 교차는 프로그래밍의 기본 작업입니다. 두 개의 배열이 주어지면 교차점은 두 배열 모두에 공통적인 요소만 포함하는 새 배열을 반환합니다. JavaScript에서는 라이브러리 없이 이 작업을 구현하는 것이 놀랍도록 간단합니다.

해결책

JavaScript에서 배열 교차를 달성하는 가장 간단하고 간결한 방법은 Array.prototype.filterArray.prototype.includes. 이 접근 방식을 사용하면 복잡한 루프나 외부 종속성이 필요하지 않습니다.

const intersection = (array1, array2) => {
  return array1.filter((value) => array2.includes(value));
};

또는 화살표 기능을 지원하지 않는 이전 브라우저의 경우 다음 코드를 사용할 수 있습니다.

const intersection = (array1, array2) => {
  return array1.filter(function(n) {
    return array2.indexOf(n) !== -1;
  });
};

이 솔루션의 효과를 설명하려면 다음을 고려하세요. 예:

console.log(intersection([1, 2, 3], [2, 3, 4, 5])); // [2, 3]

교집합 함수는 예상대로 공통 요소 [2, 3]을 포함하는 배열을 올바르게 반환합니다.

참고

Array.prototype.includesArray.prototype.indexOf 엄격한 동등성(===)을 사용하여 배열의 요소를 비교합니다. 즉, 배열에 복잡한 개체가 포함된 경우 비교는 해당 콘텐츠가 아닌 개체 참조만 일치합니다. 이 사용 사례를 처리하려면 Array.prototype.some을 사용하여 사용자 지정 비교 논리를 지정하는 것이 좋습니다.

위 내용은 JavaScript에서 두 배열의 교차점을 어떻게 효율적으로 찾을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.