- Từ Firefox 127, các phương thức
Set mới đã có thể dùng trên hầu hết các engine trình duyệt lớn, nên có thể sử dụng chúng ở mọi nơi mà không cần Polyfill
- Chúng cung cấp các cách tối ưu cho việc loại bỏ trùng lặp, so sánh, giao, hiệu, tập con, v.v., nên không còn cần tự triển khai nữa
- Với dữ liệu lớn, chúng có lợi thế về hiệu năng so với Array (chỉ cần lưu ý rằng thứ tự không được đảm bảo)
- Các phương thức
Set mới: intersection(), union(), difference(), symmetricDifference(), isSubsetOf(), isSupersetOf(), isDisjointFrom() trả về giá trị boolean biểu thị trạng thái đó
Set trong JavaScript là gì?
Set tương tự Array, nhưng mỗi giá trị chỉ có thể được lưu một lần
Set cung cấp cách tích hợp sẵn để tạo các tập hợp duy nhất nên rất tiện lợi
- So với Array, việc kiểm tra một phần tử có tồn tại trong
Set thường nhanh hơn
Hợp của hai tập hợp
- Dùng phương thức
union có thể xác định các phần tử nằm trong “một trong hai hoặc cả hai” tập hợp
- Không cần triển khai tùy chỉnh để loại bỏ trùng lặp và thực hiện so sánh
Giao của các tập hợp
- Dùng phương thức
intersection có thể xác định các phần tử trùng nhau giữa hai tập hợp
- Có thể dùng để làm nổi bật các phần tử chỉ xuất hiện trong “cả hai tập hợp”
Hiệu đối xứng của các tập hợp
- Phương thức
symmetricDifference cho phép xác định các phần tử chỉ có trong một tập hợp nhưng không có trong “cả hai”
symmetricDifference thực hiện phép toán logic ngược với intersection
Hiệu của các tập hợp
- Dùng phương thức
difference có thể xác định các phần tử có trong một tập hợp nhưng không có trong tập hợp kia
- Có thể dùng tập hợp được tạo bởi
difference để làm nổi bật các mục trong một danh sách không xuất hiện trong danh sách khác
Tập con, tập cha và rời nhau
- Các phương thức
isSubsetOf() và isSupersetOf() không trả về một tập hợp mới mà trả về giá trị boolean biểu thị một trạng thái cụ thể hoặc phép kiểm tra logic
- Dùng phương thức
isDisjointFrom() có thể kiểm tra xem hai tập hợp có phần tử chung hay không
Tóm tắt
- Đây là những phương thức
Set thú vị và là khái niệm đáng để tìm hiểu
- Hy vọng bạn sẽ chia sẻ thêm về cách dùng các phương thức này theo những cách khác nhau trong các ví dụ thực tế
- Mong rằng bạn có thể tận dụng tốt các phương thức
Set trong dự án tiếp theo của mình
1 bình luận
Đúng là đã có thêm các hàm mang tính "tập hợp" hơn.