Sử dụng set trong ES6

Giới thiệu nội dung bài viết

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.

1. Giới thiệu về Set

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();

2. Các phương thức phổ biến của Set

  • add(value) : thêm phần tử vào tập hợp.
  • clear() : xoá hết các phần tử trong set.
  • delete(value) : xoá một phần tử trong tập hợp.
  • entries() : trả về một Iterator chứa các giá trị của một tập hợp.
  • has(value) : kiểm tra xem giá trị có tồn tại trong tập hợp chưa. Trả về true nếu tồn tại.

## 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ả  :

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ả  :

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ả  :

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  : 

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

4. Demo Video


Mọi người hãy Subscribe kênh youtube dưới đây nhé để cập nhật các video mới nhất về kỹ thuật và kỹ năng mềm

Các khoá học lập trình MIỄN PHÍ tại đây


Comments