Set.prototype.difference()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Set
인스턴스의 difference()
메서드는 집합을 받아서 이 집합에는 있지만 주어진 집합에는 없는 요소를 포함하는 새로운 집합을 반환합니다.
구문
js
difference(other)
매개 변수
반환 값
이 집합에는 있지만 other
집합에는 없는 요소를 포함하는 새 Set
객체입니다.
설명
수학적 표기법에서 차집합(difference)는 다음과 같이 정의됩니다.
벤 다이어그램을 사용하자면
difference()
는 유사 집합객체를 other
매개변수로 받습니다. 사용자 코드를 호출하지 않고 this
에 저장된 기본 데이터를 직접 검색하기 때문에 실제 Set
인스턴스가 되기 위해 this
가 필요합니다. 그런 다음 동작은 this
와 other
의 크기에 따라 달라집니다.
this
에other.size
보다 더 많은 요소가 있으면other.size
의keys()
메서드를 호출하여other
을 순회하고other
에 표시되지 않는 모든 요소로 새 집합을 구성합니다.- 그렇지 않으면,
this
의 요소를 순회하고other.has(e)
가 거짓 같은 값을 반환하게 만드는 모든 요소e
를 포함하는 새 집합을 구성합니다.
반환된 집합의 요소 순서는 this
와 동일합니다.
예제
difference() 사용하기
아래 예제는 홀수 집합(<10)과 완전 제곱 집합(<10)의 차이를 계산하는 예제입니다. 결과는 완전 제곱이 아닌 홀수 집합입니다.
js
const odds = new Set([1, 3, 5, 7, 9]);
const squares = new Set([1, 4, 9]);
console.log(odds.difference(squares)); // Set(3) { 3, 5, 7 }
명세서
Specification |
---|
Set methods # sec-set.prototype.difference |
브라우저 호환성
BCD tables only load in the browser