Set.prototype.isSubsetOf()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Set
인스턴스의 isSubsetOf()
메서드는 하나의 집합을 받아서 이 집합의 모든 요소가 주어진 집합에 있는지 여부를 나타내는 불리언을 반환합니다.
구문
isSubsetOf(other)
매개변수
반환 값
이 Set에 모든 요소가 other
Set에 있다면 true
를 반환하며, 그렇지 않으면 false
를 반환합니다.
설명
수학적 표기법으로 부분집합(subset)은 아래와 같이 표현할 수 있습니다.
벤 다이어그램을 사용하자면 아래와 같습니다.
참고: 부분집합 관계는 적절한 부분집합이 아니므로 isSubsetOf()
는 this
과 other
에 동일한 요소가 포함되어 있으면 true
를 반환합니다.
isSubsetOf()
는 유사 Set 객체를 other
매개변수로 받습니다. 사용자 코드를 호출하지 않고 this
에 저장된 기본 데이터를 직접 검색하기 때문에 실제 this
인스턴스여야 합니다. 그러면 그 동작은 this
와 other
의 크기에 따라 달라집니다.
this
에other.size
보다 많은 요소가 있으면false
를 바로 반환합니다.- 그렇지 않으면
this
의 요소를 순회하고this
의 요소e
로 인해other.has(e)
가 거짓같은 값 값을 반환하는 경우false
를 반환합니다. 그렇지 않으면true
를 반환합니다.
예제
isSubsetOf() 사용하기
4의 배수(<20)의 Set은 짝수 Set(<20)의 부분집합입니다.
const fours = new Set([4, 8, 12, 16]);
const evens = new Set([2, 4, 6, 8, 10, 12, 14, 16, 18]);
console.log(fours.isSubsetOf(evens)); // true
소수(<20)의 Set은 홀수(<20) Set의 부분집합이 아닙니다. 2는 소수지만 홀수가 아니기 때문입니다.
const primes = new Set([2, 3, 5, 7, 11, 13, 17, 19]);
const odds = new Set([3, 5, 7, 9, 11, 13, 15, 17, 19]);
console.log(primes.isSubsetOf(odds)); // false
완전 동일한 Set은 서로에게 부분집합입니다.
const set1 = new Set([1, 2, 3]);
const set2 = new Set([1, 2, 3]);
console.log(set1.isSubsetOf(set2)); // true
console.log(set2.isSubsetOf(set1)); // true
명세서
Specification |
---|
Set methods # sec-set.prototype.isSubsetOf |
브라우저 호환성
BCD tables only load in the browser