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.
Phương thức isSupersetOf() của các instance Set nhận một set và trả về một boolean cho biết liệu tất cả các phần tử của set đã cho có nằm trong set này hay không.
Cú pháp
isSupersetOf(other)
Tham số
Giá trị trả về
true nếu tất cả các phần tử trong other cũng có trong set này, và false nếu ngược lại.
Mô tả
Trong ký hiệu toán học, tập cha (superset) được định nghĩa như sau:
Và bằng biểu đồ Venn:
Note:
Quan hệ tập cha không phải là tập cha thực sự, có nghĩa là isSupersetOf() trả về true nếu this và other chứa cùng các phần tử.
isSupersetOf() chấp nhận các đối tượng set-like làm tham số other. Nó yêu cầu this phải là một instance Set thực sự, vì nó trực tiếp lấy dữ liệu cơ bản được lưu trữ trong this mà không gọi bất kỳ code người dùng nào. Sau đó, hành vi của nó phụ thuộc vào kích thước của this và other:
- Nếu có ít phần tử trong
thishơnother.size, thì nó trả vềfalsetrực tiếp. - Ngược lại, nó duyệt
otherbằng cách gọi phương thứckeys()của nó, và nếu bất kỳ phần tử nào trongotherkhông có trongthis, nó trả vềfalse(và đóng iteratorkeys()bằng cách gọi phương thứcreturn()của nó). Ngược lại, nó trả vềtrue.
Ví dụ
>Sử dụng isSupersetOf()
Tập số chẵn (<20) là tập cha của các bội số của 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
Tập tất cả số lẻ (<20) không phải tập cha của số nguyên tố (<20), vì 2 là số nguyên tố nhưng không phải số lẻ:
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
Các tập tương đương là tập cha của nhau:
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
Đặc tả kỹ thuật
| Thông số kỹ thuật |
|---|
| ECMAScript® 2027 Language Specification> # sec-set.prototype.issupersetof> |