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() 메소드는 집합을 받아서 집합을 받아 이 집합이 주어진 집합과 공통 요소가 없는지 여부를 나타내는 불리언을 반환합니다.

구문

js
isDisjointFrom(other)

매개 변수

other

Set 객체 혹은 유사 집합 객체

반환 값

만약 other 집합과의 공통 요소가 없다면 true, 그렇지 않으면 false를 반환합니다.

설명

두 집합이 공통된 요소가 없다면 두 집합은 서로소 집합입니다. 수학적 표기법은 다음과 같습니다.

A  is disjoint from  B A B = A\text{ is disjoint from }B \Leftrightarrow A\cap B = \empty

벤 다이어그램을 사용하자면 다음과 같습니다.

두 개의 원이 있는 벤 다이어그램입니다. 두 원은 겹치는 영역이 없기 때문에 A와 B는 분리되어 있습니다.

union()other 매개변수로 유사 집합 객체를 받습니다. 사용자 코드를 호출하지 않고 this에 저장된 기본 데이터를 직접 검색하기 때문에 this는 실제 Set 인스턴스여야합니다. 그 다음의 행동은 thisother의 크기에 달려있습니다.

  • thisother.size보다 요소가 많다면 otherkeys() 메서드를 호출하여 other을 순회하고, other의 어떤 요소라도 this에 있으면 false를 반환합니다(그리고 return() 메서드를 호출하여 keys() 순회를 닫습니다). 그렇지 않으면 true를 반환합니다.
  • 그렇지 않으면, this의 요소를 순회하고 this의 어떤 요소 e에 대해 other.has(e)참 같은 값 값을 반환하는 경우 false를 반환합니다. 그렇지 않으면 true를 반환합니다.

이 구현으로 인해 isDisjointFrom()의 효율성은 대부분 thisother 중 더 작은 집합의 크기에 따라 달라집니다(집합을 선형 이하 시간 내에 접근할 수 있다고 가정할 때).

예제

isDisjointFrom() 사용하기

완전 제곱수의 집합(20 미만)은 소수 집합(20 미만)과 분리되어 있는데, 이는 완전 제곱수은 정의상 두 정수의 곱으로 분해할 수 있는 반면 1은 소수로 간주되지 않기 때문입니다.

js
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 미만)과 분리되지 않습니다.

js
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

같이 보기