Set.prototype.isDisjointFrom()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Set
인스턴스의 isDisjointFrom()
메소드는 집합을 받아서 집합을 받아 이 집합이 주어진 집합과 공통 요소가 없는지 여부를 나타내는 불리언을 반환합니다.
구문
isDisjointFrom(other)
매개 변수
반환 값
만약 other
집합과의 공통 요소가 없다면 true
, 그렇지 않으면 false
를 반환합니다.
설명
두 집합이 공통된 요소가 없다면 두 집합은 서로소 집합입니다. 수학적 표기법은 다음과 같습니다.
벤 다이어그램을 사용하자면 다음과 같습니다.
union()
은 other
매개변수로 유사 집합 객체를 받습니다. 사용자 코드를 호출하지 않고 this
에 저장된 기본 데이터를 직접 검색하기 때문에 this
는 실제 Set
인스턴스여야합니다. 그 다음의 행동은 this
와 other
의 크기에 달려있습니다.
this
가other.size
보다 요소가 많다면other
의keys()
메서드를 호출하여other
을 순회하고,other
의 어떤 요소라도this
에 있으면false
를 반환합니다(그리고return()
메서드를 호출하여keys()
순회를 닫습니다). 그렇지 않으면true
를 반환합니다.- 그렇지 않으면,
this
의 요소를 순회하고this
의 어떤 요소e
에 대해other.has(e)
가 참 같은 값 값을 반환하는 경우false
를 반환합니다. 그렇지 않으면true
를 반환합니다.
이 구현으로 인해 isDisjointFrom()
의 효율성은 대부분 this
와 other
중 더 작은 집합의 크기에 따라 달라집니다(집합을 선형 이하 시간 내에 접근할 수 있다고 가정할 때).
예제
isDisjointFrom() 사용하기
완전 제곱수의 집합(20 미만)은 소수 집합(20 미만)과 분리되어 있는데, 이는 완전 제곱수은 정의상 두 정수의 곱으로 분해할 수 있는 반면 1은 소수로 간주되지 않기 때문입니다.
const primes = new Set([2, 3, 5, 7, 11, 13, 17, 19]);
const squares = new Set([1, 4, 9, 16]);
console.log(primes.isDisjointFrom(squares)); // true
1이 아닌 모든 완전 제곱수는 정의상 합성수이므로 완전 제곱수의 집합(20 미만)은 합성수의 집합(20 미만)과 분리되지 않습니다.
const composites = new Set([4, 6, 8, 9, 10, 12, 14, 15, 16, 18]);
const squares = new Set([1, 4, 9, 16]);
console.log(composites.isDisjointFrom(squares)); // false
명세서
Specification |
---|
Set methods # sec-set.prototype.isDisjointFrom |
브라우저 호환성
BCD tables only load in the browser