Các phương thức của Set trong JavaScript
Javascript căn bản | by
Trong JavaScript, Set
là một cấu trúc dữ liệu đặc biệt cho phép lưu trữ các giá trị duy nhất mà không có sự trùng lặp. So với Array
, Set
mang lại hiệu suất tốt hơn trong một số trường hợp, đặc biệt khi cần kiểm tra sự tồn tại của phần tử hoặc loại bỏ các giá trị trùng lặp.Để làm việc với Set
, JavaScript cung cấp nhiều phương thức hữu ích như .add()
, .delete()
, .has()
, .clear()
, cũng như cách duyệt qua Set
bằng .forEach()
hoặc vòng lặp for...of
. Những phương thức này giúp thao tác với Set
trở nên linh hoạt và hiệu quả hơn.
Bài viết này sẽ đi sâu vào từng phương thức quan trọng của Set
, cách sử dụng chúng với các ví dụ minh họa thực tế, cũng như so sánh với các phương thức tương tự của Array
.
Định nghĩa Set trong JavaScript
Trong JavaScript, Set
là một cấu trúc dữ liệu đặc biệt cho phép lưu trữ các giá trị duy nhất mà không có sự trùng lặp. Điều này có nghĩa là nếu bạn thêm một phần tử đã tồn tại vào Set
, nó sẽ không được thêm lần nữa.
Ví dụ về Set:
const mySet = new Set([1, 2, 3, 3, 4, 5, 5]); console.log(mySet); // Output: Set { 1, 2, 3, 4, 5 }
Như bạn thấy, dù mảng ban đầu chứa các số trùng lặp (3, 5
), nhưng khi chuyển sang Set
, nó chỉ giữ lại các giá trị duy nhất.
Vai trò của các phương thức trong Set
Để thao tác với Set
, JavaScript cung cấp nhiều phương thức hữu ích như:
- Thêm phần tử vào
Set
bằng.add(value)
. - Xóa phần tử khỏi
Set
bằng.delete(value)
. - Kiểm tra xem một phần tử có tồn tại trong
Set
hay không bằng.has(value)
. - Lấy số lượng phần tử của
Set
bằng.size
. - Xóa toàn bộ phần tử của
Set
bằng.clear()
. - Duyệt qua các phần tử của
Set
bằng vòng lặpfor...of
hoặc.forEach()
.
Những phương thức này giúp Set
trở thành một lựa chọn lý tưởng khi cần làm việc với danh sách không trùng lặp và tìm kiếm nhanh trong JavaScript.
So sánh phương thức của Set với phương thức của Array
Dưới đây là bảng so sánh giữa một số phương thức của Set
và Array
:
Chức năng | Set | Array |
---|---|---|
Thêm phần tử | .add(value) |
.push(value) |
Xóa phần tử | .delete(value) |
.splice(index, 1) hoặc .filter() |
Kiểm tra phần tử | .has(value) |
.includes(value) |
Lấy số lượng phần tử | .size |
.length |
Duyệt qua phần tử | for...of , .forEach() |
for...of , .forEach() , .map() |
Loại bỏ trùng lặp | Dễ dàng vì Set chỉ chứa giá trị duy nhất |
Phải dùng .filter() hoặc new Set(array) |
Ví dụ minh họa:
Kiểm tra phần tử trong Set và Array
const mySet = new Set([1, 2, 3]); console.log(mySet.has(2)); // Output: true const myArray = [1, 2, 3]; console.log(myArray.includes(2)); // Output: true
Ở đây, Set
dùng .has(value)
, còn Array
dùng .includes(value)
.
Loại bỏ phần tử trùng lặp trong Array bằng Set
const numbers = [1, 2, 3, 3, 4, 5, 5]; const uniqueNumbers = [...new Set(numbers)]; console.log(uniqueNumbers); // Output: [1, 2, 3, 4, 5]
Nhóm phương thức thao tác với phần tử trong Set trong JavaScript
JavaScript cung cấp các phương thức giúp thao tác với phần tử trong Set
, bao gồm:
.add(value)
: Thêm phần tử vàoSet
..delete(value)
: Xóa một phần tử khỏiSet
..has(value)
: Kiểm tra xem phần tử có tồn tại trongSet
không..clear()
: Xóa toàn bộ phần tử trongSet
.
Dưới đây là cách sử dụng chi tiết từng phương thức:
.add(value) – Thêm phần tử vào Set
Phương thức .add(value)
dùng để thêm một phần tử vào Set
. Nếu phần tử đã tồn tại, Set
sẽ không thêm lại.
Cú pháp:
set.add(value);
Ví dụ minh họa:
const mySet = new Set(); mySet.add(1); mySet.add(2); mySet.add(2); // Không thêm vì 2 đã tồn tại mySet.add(3); console.log(mySet); // Output: Set { 1, 2, 3 }