Tôi có một số dữ liệu mà tôi ban đầu được lưu trữ trong một đối tượng Javascript chung chung, với ID như một chìa khóa:Làm thế nào để giữ một đối tượng Javascript/mảng được yêu cầu trong khi vẫn duy trì tra cứu chính?
{
"7": {"id":"7","name":"Hello"},
"3": {"id":"3","name":"World"},
...
}
Tuy nhiên, tôi phát hiện ra rằng các trình duyệt không đảm bảo một trật tự đối tượng cụ thể khi Looping qua chúng, vì vậy trong "3" ở trên sẽ đến trước "7". Tôi đã chuyển sang sử dụng định dạng mảng như sau:
[
{"id":"7","name":"Hello"},
{"id":"3","name":"World"},
...
]
Bây giờ, tôi có thể lặp lại thứ tự đúng nhưng không thể tra cứu nhanh, ví dụ: data["3"]
mà không phải lặp qua mảng.
Có cách nào tốt để kết hợp cả hai cách tiếp cận? Tôi thà tránh sử dụng một đối tượng riêng biệt cho mỗi định dạng, bởi vì đối tượng là khá lớn (hàng trăm yếu tố).
thể trùng lặp của [? Cấu trúc dữ liệu Javascript cho tra cứu nhanh và ra lệnh lặp] (http://stackoverflow.com/questions/3549894/javascript-data-structure-for-fast-lookup-and-ordered-looping) –
Không chắc chắn có một cách tốt hơn để đạt được điều này hơn là câu trả lời tôi đã liên kết đến. Nó phá vỡ mục tiêu của bạn để tránh các đối tượng riêng biệt cho mỗi - nhưng tôi muốn biết một cách tốt hơn! :) –