Set.prototype.isDisjointFrom()

Baseline 2024

Newly available

Since June 2024, this feature works across the latest devices and browser versions. This feature might not work in older devices or 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

같이 보기