Phương thức Set.has() trong JavaScript

Phương thức Set.has() trong JavaScript
Phương thức Set.has() trong JavaScript

Chức năng của Phương thức Set.has() trong JavaScript

Phương thức Set.has() trong JavaScript dùng để kiểm tra một giá trị có tồn tại trong một đối tượng Set hay không, nếu có sẽ trả về true, nếu không có sẽ trả về false.

Cú pháp của Phương thức Set.has() trong JavaScript

Set.has(giatri)

Set: tên biến của đối tượng Set, biến này tự đặt tên và thay đổi được.

giatri: Giá trị cần kiểm tra xem có tồn tại hay không.

Code Phương thức Set.has() 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>");
}
// Kiểm tra có giá trị Bùi Tấn Lực hay không
document.write("Kiểm tra có giá trị Bùi Tấn Lực hay không: "+thanhViens.has("Bùi Tấn Lực") + "<br>");
// Kiểm tra có giá trị Bùi Tấn hay không
document.write("Kiểm tra có giá trị Bùi Tấn hay không: "+thanhViens.has("Bùi Tấn") + "<br>");
</script>

Kết quả:

Bùi Tấn Lực
Trần Thị Vân
Bùi Đan Trúc Quỳnh
Kiểm tra có giá trị Bùi Tấn Lực hay không: true
Kiểm tra có giá trị Bùi Tấn hay không: false

Chạy Thử

Ứng dụng phương thức Set.has() trong JavaScript

Phương thức Set.has() hữu ích khi cần xác định một giá trị đã tồn tại trong tập hợp hay chưa. Nhờ trả về kết quả true hoặc false, phương thức này có thể kết hợp trực tiếp với các câu lệnh điều kiện để xử lý dữ liệu rõ ràng và hạn chế việc kiểm tra lặp lại.

Kiểm tra phần tử trước khi thêm vào Set

Trong một số trường hợp, chương trình cần kiểm tra dữ liệu trước khi thực hiện thao tác tiếp theo. Có thể dùng Set.has() để xác định phần tử đã tồn tại, sau đó chỉ thêm giá trị mới khi cần.

const users = new Set(["An", "Bình"]);

if (!users.has("Cường")) {
    users.add("Cường");
}

console.log(users);

Cách này đặc biệt phù hợp khi dữ liệu được bổ sung từng phần và chương trình cần thực hiện thêm một hành động khác ngoài việc gọi Set.add(). Nếu giá trị đã có trong Set, khối lệnh bên trong điều kiện sẽ không được thực hiện.

Kiểm tra dữ liệu trùng lặp bằng Set.has()

Khi xử lý một danh sách dữ liệu, Set.has() có thể giúp phát hiện giá trị đã xuất hiện trước đó. Đây là cách đơn giản để đánh dấu những phần tử bị lặp mà không cần tìm kiếm thủ công trong toàn bộ mảng.

const names = ["An", "Bình", "An", "Cường"];
const seen = new Set();
const duplicates = [];

for (const name of names) {
    if (seen.has(name)) {
        duplicates.push(name);
    } else {
        seen.add(name);
    }
}

console.log(duplicates);

Trong ví dụ trên, mỗi giá trị được kiểm tra trước khi đưa vào seen. Nếu giá trị đã tồn tại, chương trình ghi nhận đó là dữ liệu trùng lặp. Cách làm này có thể áp dụng cho các trường hợp như kiểm tra mã sản phẩm, tên người dùng hoặc những giá trị cần đảm bảo không xuất hiện nhiều lần.

Kết hợp Set.has() với điều kiện if

Vì kết quả của Set.has() là một giá trị Boolean, phương thức này có thể sử dụng trực tiếp trong if. Điều này giúp biểu diễn các điều kiện kiểm tra sự tồn tại một cách ngắn gọn.

const permissions = new Set(["read", "write"]);

if (permissions.has("write")) {
    console.log("Người dùng có quyền ghi dữ liệu.");
}

Cách kết hợp này phù hợp khi chương trình cần kiểm tra quyền, trạng thái hoặc một nhóm giá trị được phép trước khi thực hiện thao tác. Nếu cần xử lý trường hợp ngược lại, có thể sử dụng toán tử ! để kiểm tra khi phần tử không tồn tại.

So sánh Set.has() với Array.includes()

Set.has()Array.includes() đều có thể dùng để kiểm tra một giá trị có tồn tại hay không, nhưng chúng phục vụ những cấu trúc dữ liệu khác nhau.

Tiêu chí Set.has() Array.includes()
Cấu trúc dữ liệu Set Array
Mục đích chính Kiểm tra thành viên trong một tập hợp Tìm một giá trị trong mảng
Giá trị trùng lặp Set không lưu các giá trị trùng nhau Array có thể chứa giá trị trùng nhau
Khi phù hợp Khi dữ liệu chủ yếu cần kiểm tra sự tồn tại Khi vẫn cần duy trì cấu trúc và thứ tự của mảng

Nếu dữ liệu được sử dụng chủ yếu để xác định một giá trị có thuộc tập hợp hay không, Set.has() thường là lựa chọn tự nhiên hơn. Ngược lại, khi cần giữ nguyên đặc điểm của mảng và thực hiện thêm các thao tác như truy cập theo vị trí hoặc duyệt danh sách, Array.includes() có thể phù hợp hơn.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Phương thức Set.has() trong JavaScript.

  • 0 Bình luận
CEO Bùi Tấn Lực | Founder Web Mới
Bùi Tấn Lực
Tìm hiểu về CEO Bùi Tấn Lực, Founder Web Mới với nhiều năm kinh nghiệm trong lĩnh vực phát triển website, SEO và chia sẻ kiến thức công nghệ
Đánh giá
Chia sẻ nội dung đánh giá của bạn về Phương thức Set.has() trong JavaScript
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 *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Yêu Cầu Báo Giá
Gửi trang web mẫu cần làm theo, chúng tôi sẽ báo giá đến bạn từ Email (tanlucit09@gmail.com - Bùi Tấn Lực) hoặc Zalo (Lực IT - 0398259259) !