Các phương thức `Set` mới của JavaScript
(developer.mozilla.org)- Từ Firefox 127, các phương thức
Setmớ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
Setmớ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ì?
Settương tự Array, nhưng mỗi giá trị chỉ có thể được lưu một lầnSetcung 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
Setthường nhanh hơn
Hợp của hai tập hợp
- Dùng phương thức
unioncó 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
intersectioncó 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
symmetricDifferencecho 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” symmetricDifferencethực hiện phép toán logic ngược vớiintersection
Hiệu của các tập hợp
- Dùng phương thức
differencecó 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
Setthú 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
Settrong 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.