Đối tượng new Set() trong JavaScript
Bùi Tấn Lực
- 1027
- 19/09/2025
Chức năng của Đối tượng new Set() trong JavaScript
Đối tượng new Set() trong JavaScript dùng để chứa các phần tử có các giá trị không được trùng nhau và không có khóa (key), dành cho các trường hợp lưu trữ các giá trị không trùng nhau.
Code Đối tượng new Set() trong JavaScript
Đối tượng new Set() có giá trị trong JavaScript
<script>
// Tạo một đối tượng Set
const thanhViens = new Set(["Bùi Tấn Lực","Trần Thị Vân","Bùi Đan Trúc Quỳnh"]);
// Lấy danh sách giá trị
for (const value of thanhViens) {
// Lấy từng giá trị
document.write(value + "<br>");
}
</script>
Kết quả:
Bùi Tấn Lực
Trần Thị Vân
Bùi Đan Trúc Quỳnh
Đối tượng new Set() chưa có giá trị trong JavaScript
<script>
// Tạo một đối tượng Set
const thanhViens = new Set();
// Thêm từng giá trị
thanhViens.add("Bùi Tấn Lực");
thanhViens.add("Trần Thị Vân");
thanhViens.add("Bùi Đan Trúc Quỳnh");
// Lấy danh sách giá trị
for (const value of thanhViens) {
// Lấy từng giá trị
document.write(value + "<br>");
}
</script>
Kết quả:
Bùi Tấn Lực
Trần Thị Vân
Bùi Đan Trúc Quỳnh
Ứng dụng đối tượng new Set() để xử lý dữ liệu trùng lặp trong JavaScript
Lọc các giá trị trùng lặp bằng new Set()
Một trong những ứng dụng hữu ích của new Set() là loại bỏ các giá trị xuất hiện nhiều lần trong một mảng. Khi đưa mảng vào Set, JavaScript chỉ giữ lại mỗi giá trị một lần, giúp việc làm sạch dữ liệu trở nên ngắn gọn hơn.
const numbers = [1, 2, 2, 3, 4, 4, 5];
const uniqueNumbers = [...new Set(numbers)];
console.log(uniqueNumbers);
Kết quả là một mảng mới chỉ còn các giá trị duy nhất. Cách này phù hợp khi cần xử lý nhanh danh sách mã, tên, số hoặc các dữ liệu có khả năng bị nhập trùng.
Chuyển Set thành Array để tiếp tục xử lý dữ liệu
Set không phải là Array nên không thể sử dụng trực tiếp các phương thức dành riêng cho mảng. Sau khi loại bỏ dữ liệu trùng lặp, có thể chuyển Set trở lại Array bằng toán tử spread để tiếp tục lọc, sắp xếp hoặc biến đổi dữ liệu.
const names = ["An", "Bình", "An", "Chi"];
const uniqueNames = [...new Set(names)];
console.log(uniqueNames);
Việc chuyển đổi này đặc biệt hữu ích trong các thao tác xử lý dữ liệu theo nhiều bước, khi cần tận dụng ưu điểm loại bỏ phần tử trùng của Set rồi tiếp tục sử dụng các phương thức quen thuộc của Array.
Khi nào nên sử dụng new Set() thay cho Array?
Nên cân nhắc new Set() khi mục tiêu chính là lưu các giá trị duy nhất hoặc kiểm tra một giá trị có tồn tại trong tập dữ liệu hay không. Set giúp thể hiện rõ ý nghĩa của dữ liệu và tránh phải tự xử lý các phần tử trùng lặp.
Ngược lại, Array phù hợp hơn khi cần duy trì thứ tự phần tử, truy cập theo vị trí hoặc thường xuyên sử dụng các phương thức xử lý mảng. Vì vậy, lựa chọn giữa Set và Array nên dựa trên cách dữ liệu được sử dụng thay vì chỉ dựa vào số lượng phần tử.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Đối tượng new Set() trong JavaScript.
- 0 Bình luận
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *