Показать сообщение отдельно
  #4 (permalink)  
Старый 22.11.2014, 16:10
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,585

Сообщение от javacrypt Посмотреть сообщение
Слышал, что работа с массивом быстрее чем с хеш-объектом. Как поступить?
Работа - быстрее. А по ключу - быстрее поиск. Причём пока быстрee даже Map/Set.has().
Вывод - для работы хранить массив, для быстрого доступа хэш-таблицу с уникальными id. Очевидно же.) Оверхед минимален.

...upd:
Смотрю вы так и делаете. Знач всё гуд.)
Единственное что так: goods[id++] и даже так: goods[String(id++)] - делать не стоит: если 0 <= id < 2^32 то он автоматически станет ключом массива(с соотв. изменением length). Чтоб он стал свойством объекта id должен быть больше 2^32\меньше 0, либо не преобразовываться в число.(ну либо использовать отдельный объект для этого дела)

...upd2:
Таки дошло что похоже "так" вы не делаете, а просто привели пример, подумал что добавление идёт ~так:
var goods = [], temp = new Product();
goods[temp.id] = temp; //добавление в объект
goods.push(temp); //добавление в массив
красивый и удобный вариант.)
__________________
29375, 35

Последний раз редактировалось Aetae, 22.11.2014 в 16:25.
Ответить с цитированием