Я ищу простой и эффективный способ создания бизнес-объектов, которые позже будут вызываться по идентификатору в каком-то словаре.У меня есть этот метод работает, но, похоже, он может излишне использовать много памяти.
var objects = [{ ID: 20, Description: 'Item 1'},
{ ID: 40, Description: 'Item 2'},
{ ID: 60, Description: 'Item 3'}];
var objectsByID = [];
$.each(objects, function (index, o) {
objectsByID[o.ID] = o;
});
var itemID40 = objectsByID[40];
Firebug говорит мне, что objectsByID
имеет неопределенные элементы массива между добавленными номерами ID, напримерИтак:
[undefined, ... ,
Object { ID=20, Description="Item 1"}, ... ,
Object { ID=40, Description="Item 2"}, ... ,
Object { ID=60, Description="Item 3"}]
Эти индексы массива фактически назначены и используют память, или это концептуальное представление?
Кроме того, я должен делать это?