es6에서 두 배열의 교차점을 찾는 방법

青灯夜游
풀어 주다: 2022-04-19 19:04:49
원래의
3990명이 탐색했습니다.

구현 방법: 1. "new Set (array)" 문을 사용하여 두 배열을 집합 컬렉션 유형으로 변환합니다. 2. "new Set([...set 1].filter(x => set 2 )을 사용합니다. has(x)))" 문은 두 집합의 교집합을 얻을 수 있으며 모든 교집합 요소를 포함하는 새 집합이 반환됩니다.

es6에서 두 배열의 교차점을 찾는 방법

이 튜토리얼의 운영 환경: 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);
로그인 후 복사

es6에서 두 배열의 교차점을 찾는 방법

이때 교차점 요소가 집합 컬렉션에 포함되어 반환되는 것을 볼 수 있습니다. Array.from 메소드를 사용하여 집합을 배열 유형으로 변환할 수 있습니다. Array.from 메소드는 객체가 실제 배열, 즉 배열형 객체와 반복 가능한 객체(ES6의 새로운 데이터 구조인 Set 및 Map 포함)로 변환되는 두 범주를 결합하는 데 사용됩니다.

  • let intersectionSet = Array.from(new Set([...newA].filter(x => newB.has(x))));
    console.log(intersectionSet);
    로그인 후 복사

확장된 지식: 합집합/차집합 찾기es6에서 두 배열의 교차점을 찾는 방법

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
es6
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿