Thuộc tính Map.size trong JavaScript
Bùi Tấn Lực
- 864
- 19/09/2025
Chức năng của Thuộc tính Map.size trong JavaScript
Thuộc tính Map.size trong JavaScript dùng để đếm số cặp khóa - giá trị có trong đối tượng Map.
Cú pháp của Thuộc tính Map.size trong JavaScript
Map.size
Map: tên biến của đối tượng Map, biến này tự đặt tên và thay đổi được.
Code Thuộc tính Map.size 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>");
})
// Số cặp khóa - giá trị
document.write("<b>Số cặp khóa - giá trị</b>: "+thanhViens.size+"<br>");
</script>
Những lưu ý khi sử dụng Map.size trong JavaScript
Map.size cho biết số lượng cặp key-value đang tồn tại trong một đối tượng Map tại thời điểm truy cập. Tuy nhiên, khi sử dụng thuộc tính này trong thực tế, cần chú ý cách giá trị được cập nhật và tránh nhầm lẫn với cơ chế đếm phần tử của các kiểu dữ liệu khác.
Map.size có tự động cập nhật khi thêm hoặc xóa phần tử không?
Có. Giá trị Map.size được cập nhật theo trạng thái hiện tại của Map. Khi thêm một key mới bằng set(), số lượng phần tử tăng lên; khi xóa key bằng delete() hoặc xóa toàn bộ bằng clear(), giá trị này giảm tương ứng.
const users = new Map();
users.set("user1", "An");
users.set("user2", "Bình");
console.log(users.size); // 2
users.delete("user1");
console.log(users.size); // 1
users.clear();
console.log(users.size); // 0
Điểm cần nhớ là size không phải một con số được lưu cố định. Mỗi lần truy cập, nó phản ánh số phần tử hiện có trong Map, vì vậy không cần tự tăng hoặc giảm một biến đếm riêng.
Phân biệt Map.size với độ dài của Array
Map.size và Array.length đều có thể dùng để biết số lượng phần tử, nhưng chúng thuộc về hai cấu trúc dữ liệu khác nhau và có cách sử dụng riêng.
- Map.size trả về số lượng cặp key-value trong Map.
- Array.length trả về độ dài của mảng.
- Với Map, không sử dụng length để đếm phần tử.
- Với Array, không sử dụng size để lấy độ dài.
const map = new Map([
["a", 10],
["b", 20]
]);
const array = [10, 20];
console.log(map.size); // 2
console.log(array.length); // 2
Việc phân biệt hai thuộc tính này giúp tránh lỗi khi chuyển đổi dữ liệu giữa Map và Array, đặc biệt trong những đoạn mã xử lý danh sách động.
Những trường hợp dễ hiểu sai giá trị của Map.size
Một lỗi phổ biến là nghĩ rằng thêm lại một key sẽ luôn làm size tăng. Thực tế, Map chỉ giữ một giá trị cho mỗi key. Nếu gọi set() với key đã tồn tại, giá trị cũ được thay thế và số lượng phần tử không tăng.
const products = new Map();
products.set("p01", "Laptop");
products.set("p01", "Laptop Pro");
console.log(products.size); // 1
console.log(products.get("p01")); // "Laptop Pro"
Tương tự, gọi delete() với một key không tồn tại cũng không làm size giảm thêm. Vì vậy, khi kiểm tra số lượng dữ liệu, nên xem size là số key duy nhất đang có trong Map, thay vì tổng số lần gọi set().
Lời kết
Cảm ơn các bạn đã tham khảo bài viết Thuộc tính Map.size 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 *