CARVIEW |
このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。
Set.prototype.isSupersetOf()
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.
isSupersetOf()
は Set
インスタンスのメソッドで、集合を取り、与えられた集合のすべての要素がこの Set にあることを示す論理値を返します。
構文
isSupersetOf(other)
引数
返値
other
の集合にあるあるすべての要素がこの Set にもあれば true
、そうでなければ false
です。
解説
数学的な記法では、上位集合は次のように定義されます。
ベン図を使うとこうなります。
からなるベン図。B は A に完全に含まれるため、A は B の上位集合です。" width="300" height="200" loading="lazy">
メモ:
上位集合の関係は、真の上位集合ではありません。つまり、this
と other
の中の要素が同じである場合、isSupersetOf()
は true
を返します。
isSupersetOf()
は、Set 風オブジェクトを other
引数として受け入れます。this
は、ユーザーコードを呼び出すことなく、this
オブジェクトに格納されているデータに直接アクセスするため、実際の Set
インスタンスであることが要求されます。その後、その動作は this
と other
のサイズに依存します。
this
の要素数がother.size
より少ない場合は、直接false
を返します。- そうでなければ、
other
のkeys()
メソッドを呼び出して走査し、other
の要素がthis
に存在しない場合はfalse
を返します(そして、return()
メソッドを呼び出してkeys()
イテレータを終了します)。 そうでなければ、true
を返します。
例
>isSupersetOf() の使用
偶数(20 未満)の集合は、4 の倍数(20 未満)の集合の上位集合です。
const evens = new Set([2, 4, 6, 8, 10, 12, 14, 16, 18]);
const fours = new Set([4, 8, 12, 16]);
console.log(evens.isSupersetOf(fours)); // true
すべての奇数(20 未満)の集合は、素数(20 未満)の集合の上位集合ではありません。なぜなら、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(odds.isSupersetOf(primes)); // false
同値集合は互いに上位集合です。
const set1 = new Set([1, 2, 3]);
const set2 = new Set([1, 2, 3]);
console.log(set1.isSupersetOf(set2)); // true
console.log(set2.isSupersetOf(set1)); // true
仕様書
Specification |
---|
ECMAScript® 2026 Language Specification> # sec-set.prototype.issupersetof> |
ブラウザーの互換性
Loading…