У меня есть большой список различных продуктов, которые выводятся на экран. Эта маленькая игра, где каждый продукт рисуется на экране. Пользователь может удалять, добавлять любой продукт из списка. Так вот возник вопрос как оптимальнее хранить список продуктов. На выбор есть 2 способа:
var goods = {
"0": new Apple(),
"1": new Orange(),
"2": new Cherry()
}
delete goods["1"];
Очень удобно удалять любой объект из хэш-таблицы, указывая только id.
Второй способ:
var goods = [
new Apple(),
new Orange(),
new Cherry()
]
for (var i = 0; i < goods.length; i++) {
if (goods[i].getId() == 1) {
goods.splice(i, 1);
}
}
Тут нужно пробегать по всему массиву, брать id каждого объекта и сравнивать с переданным id для удаления.
Так вот список у меня большой и каждый продукт рисуется на экран, по-этому не знаю как оптимальнее организовать список для быстрого удаления экземпляров. Слышал, что работа с массивом быстрее чем с хеш-объектом. Как поступить?