Tôi có đối tượng Javascript mà tôi đang cố gắng sử dụng làm "băm". Các phím luôn luôn là dây, vì vậy tôi không nghĩ rằng tôi cần bất cứ điều gì phức tạp như những gì được mô tả trong this SO question. (Tôi cũng không mong đợi số lượng chìa khóa để đi trên khoảng 10 vì vậy tôi không đặc biệt quan tâm đến tra cứu là O (n) so với O (log n) vv)Xác định có bao nhiêu trường đối tượng Javascript có
Chức năng duy nhất tôi muốn các đối tượng Javascript được xây dựng sẵn dường như không có, là một cách nhanh chóng để tìm ra số cặp khóa/giá trị trong đối tượng, giống như những gì trả về của Map.size của Java. Tất nhiên, bạn chỉ có thể làm điều gì đó như:
function getObjectSize(myObject) {
var count=0
for (var key in myObject)
count++
return count
}
nhưng điều đó có vẻ như hacky và bùng binh. Có cách nào "đúng" để lấy số trường trong đối tượng không?
Các đề nghị chỉ cho phương pháp của bạn sẽ có thêm một tham số bổ sung để loại trừ/bao gồm tài sản thừa kế, trong trường hợp đó bạn sẽ sử dụng hasOwnProperty thay vì chỉ đơn giản cho vòng lặp –