구현 방법: 1. "new Set (array)" 문을 사용하여 두 배열을 집합 컬렉션 유형으로 변환합니다. 2. "new Set([...set 1].filter(x => set 2 )을 사용합니다. has(x)))" 문은 두 집합의 교집합을 얻을 수 있으며 모든 교집합 요소를 포함하는 새 집합이 반환됩니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.
es6에서는 배열의 filter()와 함께 set 객체의 has() 메서드를 사용하여 두 배열의 교차점을 찾을 수 있습니다.
Set은 ES6에서 제공하는 새로운 데이터 구조로 배열과 유사하지만 중복된 값이 없습니다. 이 기능을 사용하면 중복 제거를 위해 배열을 Set 유형으로 변환한 다음 Array.from 메서드를 사용하여 다시 배열로 변환할 수 있습니다.
Set has() 메소드는 Set 객체에 지정된 값이 포함되어 있는지 여부를 나타냅니다. 지정된 값이 존재하면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
let a=[1, 2, 3]; let b=[3, 5, 2]; newA = new Set(a); newB = new Set(b); let intersectionSet = new Set([...newA].filter(x => newB.has(x))); console.log(intersectionSet);
이때 교차점 요소가 집합 컬렉션에 포함되어 반환되는 것을 볼 수 있습니다. Array.from 메소드를 사용하여 집합을 배열 유형으로 변환할 수 있습니다. Array.from 메소드는 객체가 실제 배열, 즉 배열형 객체와 반복 가능한 객체(ES6의 새로운 데이터 구조인 Set 및 Map 포함)로 변환되는 두 범주를 결합하는 데 사용됩니다.
let intersectionSet = Array.from(new Set([...newA].filter(x => newB.has(x)))); console.log(intersectionSet);
확장된 지식: 합집합/차집합 찾기
let a = new Set([1, 2, 3]); let b = new Set([3, 5, 2]); // 并集 let unionSet = new Set([...a, ...b]); //[1,2,3,5] // ab差集 let differenceABSet = new Set([...a].filter(x => !b.has(x)));
[관련 권장 사항: javascript 비디오 튜토리얼,
웹 프론트엔드위 내용은 es6에서 두 배열의 교차점을 찾는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!