Phương thức Map.delete() trong JavaScript
Bùi Tấn Lực
- 856
- 19/09/2025
Chức năng của Phương thức Map.delete() trong JavaScript
Phương thức Map.delete() trong JavaScript dùng để xóa một cặp khóa - giá trị bằng cách truyền vào khóa (key).
Cú pháp của Phương thức Map.delete() trong JavaScript
Map.delete(khoa);
Map: tên biến của đối tượng Map, biến này tự đặt tên.
khoa: khóa (key).
Code Phương thức Map.delete() trong JavaScript
<script>
// Tạo một Map
const thanhViens = new Map();
// Tạo cặp khóa, giá trị cho Map
thanhViens.set("Bùi Tấn Lực", 35);
thanhViens.set("Nguyễn Thùy Dung", 30);
thanhViens.set("Trần Thị Vân", 29);
thanhViens.set("Bùi Đan Trúc Quỳnh", 1);
// Xem danh sách Map
thanhViens.forEach (function(value, key) {
document.write(key + ' = ' + value + "<br>");
})
// Xóa cặp khóa - giá trị có khóa (Nguyễn Thùy Dung)
thanhViens.delete("Nguyễn Thùy Dung");
document.write("<b>Xem lại danh sách Map sau khi xóa:</b><br>");
// Xem lại danh sách Map
thanhViens.forEach (function(value, key) {
document.write(key + ' = ' + value + "<br>");
})
</script>
Kết quả:
Bùi Tấn Lực = 35
Nguyễn Thùy Dung = 30
Trần Thị Vân = 29
Bùi Đan Trúc Quỳnh = 1
Xem lại danh sách Map sau khi xóa:
Bùi Tấn Lực = 35
Trần Thị Vân = 29
Bùi Đan Trúc Quỳnh = 1
Map.delete() trong JavaScript có gì khác với các cách xóa phần tử khác?
Map.delete() được thiết kế riêng để loại bỏ một cặp key-value khỏi đối tượng Map. Điểm đáng chú ý là phương thức này trả về true nếu phần tử tồn tại và đã được xóa thành công, hoặc false nếu key không tồn tại.
Việc phân biệt Map.delete() với các cách xóa dữ liệu khác giúp tránh áp dụng sai phương thức, đặc biệt khi làm việc đồng thời với Map và Object.
So sánh Map.delete() với delete khi xóa thuộc tính Object
Với Map, dùng Map.delete() để xóa phần tử theo key. Trong khi đó, toán tử delete thường được sử dụng để loại bỏ một thuộc tính khỏi Object.
Hai cách có mục đích tương tự nhưng hoạt động trên hai kiểu cấu trúc dữ liệu khác nhau:
- Map.delete(key): xóa một cặp key-value trong Map.
- delete object.key: xóa một thuộc tính khỏi Object.
Ví dụ với Map:
const users = new Map([
["id01", "An"],
["id02", "Bình"]
]);
users.delete("id01");
Ví dụ với Object:
const user = {
id: "id01",
name: "An"
};
delete user.id;
Không nên dùng toán tử delete để thay thế Map.delete(), bởi Map quản lý dữ liệu theo cơ chế riêng và cung cấp các phương thức chuyên biệt như set(), get(), has() và delete().
So sánh Map.delete() với Map.clear()
Map.delete() chỉ loại bỏ một phần tử được xác định bằng key, còn Map.clear() xóa toàn bộ dữ liệu đang có trong Map.
Chẳng hạn, nếu chỉ muốn loại bỏ một người dùng, Map.delete() là lựa chọn phù hợp:
users.delete("id01");
Nếu muốn làm rỗng toàn bộ Map, có thể sử dụng:
users.clear();
Vì vậy, hai phương thức không nên dùng thay thế cho nhau. delete() phù hợp với thao tác xóa có chọn lọc, trong khi clear() dành cho trường hợp cần loại bỏ toàn bộ các cặp dữ liệu.
Khi nào nên dùng Map.delete() để xóa dữ liệu?
Nên sử dụng Map.delete() khi chương trình cần loại bỏ một giá trị cụ thể dựa trên key mà không ảnh hưởng đến những phần tử còn lại.
Phương thức này đặc biệt hữu ích khi quản lý các tập dữ liệu động như danh sách người dùng, bộ nhớ đệm, trạng thái phiên hoặc các bảng ánh xạ cần thêm và xóa phần tử thường xuyên.
Một ưu điểm thực tế là kết quả trả về của delete() cho biết thao tác có thực sự xóa được phần tử hay không. Nhờ đó, chương trình có thể xử lý tiếp dựa trên kết quả:
if (users.delete("id01")) {
console.log("Đã xóa người dùng");
} else {
console.log("Không tìm thấy key");
}
Cách sử dụng này giúp kiểm soát thao tác xóa rõ ràng hơn, nhất là khi key cần xóa có thể không tồn tại trong Map.
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Phương thức Map.delete() 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 *