Sự khác biệt hiệu suất giữa việc lấy giá trị theo khóa trong đối tượng JavaScript so với lặp qua một mảng đối tượng JavaScript riêng lẻ là gì?Đối tượng JavaScript so với hiệu suất tra cứu mảng
Trong trường hợp của tôi, tôi có đối tượng JavaScript chứa thông tin người dùng trong đó khóa là ID của người dùng và giá trị là thông tin của từng người dùng.
Lý do tôi hỏi điều này là vì tôi muốn sử dụng mô-đun angular-ui-select
để chọn người dùng, nhưng tôi không thể sử dụng mô-đun đó với đối tượng Javascript - nó yêu cầu một mảng.
Bao nhiêu, nếu có, tôi có hy sinh bằng cách chuyển từ tra cứu bằng khóa, sang tra cứu bằng cách lặp lại không?
By then chốt:
var user = users[id];
Bằng cách lặp
var user;
for (var i = 0; i < users.length; i ++) {
if (users[i].id == id) {
user = users[i]; break;
}
}
Đừng nhầm lẫn giữa các đối tượng JavaScript với JSON! –
Nó khá là không công bằng: tìm kiếm tuyến tính (vòng lặp mảng của bạn) so với truy cập gần như ngẫu nhiên (thực hiện bảng băm) – artistoex
đây là một tiêu chuẩn nhanh, có thể giúp bạn: http://jsben.ch/#/Y9jDP – EscapeNetscape