Set.prototype.isSubsetOf()

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 isSubsetOf() 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 này có nằm trong set đã cho hay không.

Cú pháp

js
isSubsetOf(other)

Tham số

other

Một đối tượng Set, hoặc đối tượng set-like.

Giá trị trả về

true nếu tất cả các phần tử trong set này cũng có trong other, và false nếu ngược lại.

Mô tả

Trong ký hiệu toán học, tập con (subset) được định nghĩa như sau:

ABxA,xBA\subseteq B \Leftrightarrow \forall x\in A,\,x\in B

Và bằng biểu đồ Venn:

A Venn diagram with two circles. A is a subset of B because A is completely contained in B.

Note: Quan hệ tập con không phải là tập con thực sự, có nghĩa là isSubsetOf() trả về true nếu thisother chứa cùng các phần tử.

isSubsetOf() 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 thisother:

  • Nếu có nhiều phần tử trong this hơn other.size, thì nó trả về false trực tiếp.
  • Ngược lại, nó duyệt các phần tử trong this, và trả về false nếu bất kỳ phần tử e nào trong this khiến other.has(e) trả về giá trị falsy. Ngược lại, nó trả về true.

Ví dụ

Sử dụng isSubsetOf()

Tập các bội số của 4 (<20) là tập con của các số chẵn (<20):

js
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

Tập số nguyên tố (<20) không phải tập con của tất cả số lẻ (<20), vì 2 là số nguyên tố nhưng không phải số lẻ:

js
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

Các tập tương đương là tập con của nhau:

js
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

Đặc tả kỹ thuật

Thông số kỹ thuật
ECMAScript® 2027 Language Specification
# sec-set.prototype.issubsetof

Tương thích trình duyệt

Xem thêm