Phương thức Set.values() trong JavaScript
Bùi Tấn Lực
- 981
- 20/09/2025
Chức năng của Phương thức Set.values() trong JavaScript
Phương thức Set.values() trong JavaScript dùng để lấy danh sách của cột giá trị trong đối tượng Set, mỗi phần tử của đối tượng Set đều chứa cặp giá trị - giá trị giống nhau nên không cần dùng Set.values() cũng lấy được giá trị của phần tử.
Cú pháp của Phương thức Set.values() trong JavaScript
Set.values()
Set: tên biến của đối tượng Set, biến này tự đặt tên và thay đổi được.
Code Phương thức Set.values() 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ị
document.write("<b>Lấy danh sách giá trị</b><br>");
for (const value of thanhViens.values()) {
// Lấy từng giá trị
document.write(value + "<br>");
}
</script>
Kết quả:
Lấy danh sách giá trị
Bùi Tấn Lực
Trần Thị Vân
Bùi Đan Trúc Quỳnh
Cách sử dụng Set.values() trong JavaScript
Phương thức Set.values() hữu ích khi cần lấy toàn bộ giá trị đang được lưu trong một Set để tiếp tục xử lý. Kết quả trả về là một iterator, vì vậy bạn có thể duyệt trực tiếp hoặc chuyển thành mảng khi cần thao tác với dữ liệu theo cách quen thuộc.
Duyệt các phần tử trong Set bằng Set.values()
Khi gọi Set.values(), JavaScript trả về một iterator chứa các giá trị của Set theo đúng thứ tự chúng được thêm vào. Bạn có thể sử dụng phương thức next() để lần lượt lấy từng phần tử.
const languages = new Set(["JavaScript", "PHP", "Python"]);
const values = languages.values();
console.log(values.next().value);
console.log(values.next().value);
console.log(values.next().value);
Mỗi lần gọi next(), iterator trả về một đối tượng gồm value và done. Khi không còn phần tử, thuộc tính done sẽ có giá trị true.
Cách này phù hợp khi bạn cần kiểm soát quá trình đọc dữ liệu theo từng bước thay vì lấy toàn bộ phần tử cùng lúc.
Kết hợp Set.values() với vòng lặp for...of
Trong thực tế, for...of thường thuận tiện hơn khi cần duyệt toàn bộ giá trị mà không phải tự gọi next(). Iterator được tạo bởi Set.values() có thể truyền trực tiếp vào vòng lặp.
const products = new Set(["Laptop", "Mouse", "Keyboard"]);
for (const product of products.values()) {
console.log(product);
}
Kết quả là từng giá trị trong Set được xử lý theo thứ tự xuất hiện. Cách viết này dễ đọc và phù hợp với các thao tác như kiểm tra dữ liệu, hiển thị danh sách hoặc thực hiện một hành động cho từng phần tử.
Chuyển kết quả Set.values() thành Array
Vì Set.values() trả về iterator chứ không phải một mảng nên bạn không thể sử dụng trực tiếp các phương thức dành riêng cho Array như map() hoặc filter(). Khi cần xử lý dữ liệu theo kiểu mảng, có thể chuyển iterator thành Array bằng toán tử spread.
const numbers = new Set([10, 20, 30, 40]);
const values = [...numbers.values()];
console.log(values);
Sau khi chuyển đổi, biến values là một Array thông thường và có thể tiếp tục sử dụng các phương thức xử lý mảng. Đây là lựa chọn phù hợp khi dữ liệu từ Set cần được kết hợp với các thao tác như lọc, biến đổi hoặc sắp xếp.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Phương thức Set.values() 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 *