Saya punya model dengan kemungkinan ribuan objek. Saya bertanya-tanya apa yang akan menjadi cara paling efisien untuk menyimpannya dan mengambil satu objek setelah saya memilikinya id. Nomornya panjang.
Jadi ini adalah 2 opsi yang saya pikirkan. dalam opsi satu itu adalah array sederhana dengan indeks yang bertambah. dalam opsi 2 ini adalah array asosiatif dan mungkin sebuah objek, jika itu membuat perbedaan. Pertanyaan saya adalah mana yang lebih efisien, ketika saya sebagian besar perlu mengambil satu objek, tetapi juga kadang-kadang loop melalui mereka dan urutkan.
Opsi satu dengan array non asosiatif:
var a = [{id: 29938, name: 'name1'},
{id: 32994, name: 'name1'}];
function getObject(id) {
for (var i=0; i < a.length; i++) {
if (a[i].id == id)
return a[i];
}
}
Opsi dua dengan array asosiatif:
var a = []; // maybe {} makes a difference?
a[29938] = {id: 29938, name: 'name1'};
a[32994] = {id: 32994, name: 'name1'};
function getObject(id) {
return a[id];
}
Memperbarui:
OK, saya mendapatkan bahwa menggunakan array pada opsi kedua adalah keluar dari pertanyaan. Jadi baris deklarasi pilihan kedua harus benar-benar: var a = {};dan satu-satunya pertanyaan adalah: apa yang berkinerja lebih baik dalam mengambil objek dengan id yang diberikan: array atau objek di mana id adalah kuncinya.
dan juga, akankah jawabannya berubah jika saya harus mengurutkan daftar berkali-kali?

