Chào các bạn, hôm nay anh sẽ hướng dẫn mọi người về Set của ES6. Lần lượt giới thiệu và và đi qua các ví dụ về Set được sử dụng trong ES6.
ES6 cung cấp cho chúng ta một tập hợp mới gọi là SET. Tập hợp này lưu trữ các giá trị không trùng lặp. Cú pháp để tạo Set như sau
1
let setObject = new Set();
## 3. Ví dụ Set
Giả sử anh có một Set gồm các phần tử là ký tự như sau.
1
let chars = new Set(['a', 'a', 'b', 'c', 'c']);
Vì Set chỉ chứa các giá trị không trùng lặp. Do vậy khi anh console.log thì chỉ có giá trị a và c.
1
2
3
4
5
console.log(chars);
Kết quả là :
Set { 'a', 'b', 'c' }
Để lấy kích thướt của Set anh sẽ dùng hàm size như sau
1
2
let size = chars.size;
console.log(size);// 3
Để thêm một phần tử vào thì anh sử dụng hàm add như sau
1
2
3
4
5
6
chars.add('d');
console.log(chars);
Kết quả là :
Set { 'a', 'b', 'c', 'd' }
Chúng ta có thể add nhiều phần tử liên tiếp như sau.
1
2
3
4
5
6
chars.add('e')
.add('f');
Kết quả là :
Set { 'a', 'b', 'c', 'd','e','f' }
Kiểm tra giá trị đã tồn tại trong Set chưa ta dùng phương thức has như sau.
1
2
3
let exist = chars.has('a');
console.log(exist);// true
Để xoá phần tử ra khỏi tập hợp Set ta dùng hàm delete như sau.
1
2
3
chars.delete('f');
console.log(chars); // Set {"a", "b", "c", "d", "e"}
Để xoá hết các phần tử ta dùng hàm clear như sau
1
2
3
chars.clear();
console.log(chars); // Set{}
Để duyệt qua các phần tử ta dùng vòng lặp for of như sau.
Giả sử ta có tập hợp roles như sau.
1
2
3
4
let roles = new Set();
roles.add('admin')
.add('editor')
.add('subscriber');
Ta sử dụng vòng lặp for of để duyệt qua các phần tử như sau.
1
2
3
4
5
6
7
8
9
for (let role of roles) {
console.log(role);
}
Kết quả nhận được là :
admin
editor
subscriber
Set cũng hỗ trợ các phương thức như keys(), values(), entries() như Map để duyệt qua các phần tử.
1
2
3
4
5
6
7
8
9
for (let [key, value] of roles.entries()) {
console.log(key === value);
}
kết quả nhận được :
true
true
true