Mô tả bài toán
Viết hàm đếm số lượng thuộc tính riêng (own properties) của một đối tượng.
Ví dụ minh họa
const obj = {
name: "Ramesh",
age: 34,
occupation: "HR Manager",
address: "Tilak Nagar, New Delhi",
experience: 13
};
Object.prototype.size = function(obj) {
let size = 0, key;
for (key in obj) {
if (obj.hasOwnProperty(key)) size++;
}
return size;
};
const size = Object.size(obj);
console.log(size);
Kết quả
5
Cách chuẩn hiện đại (không sửa prototype)
const size = Object.keys(obj).length; // hoặc const size = Object.entries(obj).length; // hoặc const size = Reflect.ownKeys(obj).length; // bao gồm Symbol keys
Cảnh báo
Không nên mở rộng Object.prototype trong code production - gây rò rỉ namespace, xung đột thư viện, khó debug.