Javascript 배열을 사용한 효율적인 집합 차이 계산
두 배열 간의 집합 차이를 계산하는 것은 데이터 조작 및 집합 이론에서 중요한 작업이 될 수 있습니다. 배열이 기본 데이터 구조 역할을 하는 Javascript에서는 이 작업을 수행하기 위한 효율적이고 우아한 방법을 찾는 것이 필수적입니다.
한 가지 간단한 접근 방식은 아래에 설명된 대로 기본 array.filter() 함수를 활용하는 것입니다.
<code class="js">var A = [1, 2, 3, 4]; var B = [1, 3, 4, 7]; var diff = A.filter(function(x) { return B.indexOf(x) < 0; });</code>
이 접근 방식은 indexOf() 함수를 활용하여 A의 요소가 B에 존재하는지 확인합니다. 그렇지 않은 경우 요소는 결과 diff 배열에 추가됩니다. 간단하지만 A의 각 요소에 대해 B 배열 내에서 선형 검색을 수행해야 한다는 단점이 있어 잠재적으로 O(n^2) 시간 복잡도가 발생할 수 있습니다.
더 큰 배열의 경우 다음을 사용하여 성능을 향상할 수 있습니다. 다음 알고리즘:
<code class="js">var s = new Set(B); var diff = A.filter(function(x) { return !s.has(x); });</code>
S 세트를 사용하면 멤버십 테스트가 일정한 시간에 수행되어 전체 시간 복잡도가 O(n)이 됩니다.
위 내용은 Javascript 배열에서 세트 차이를 효율적으로 계산하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!