Я хочу сохранить данные и получить быстрый доступ к ним. Все мои данные имеют уникальный идентификатор.Javascript объект против производительности массива
Я могу придумать две возможности.
объект:
myObject[id] = myDataObject;
массив:
myArray.push(myDataObject);
В случае массива идентификатора будет унаследованным внутри myDataObject. Если я хочу найти некоторые данные в соответствии с идентификатором, как мне это сделать. Что было бы самым быстрым?
Что бы быстрее уважая следующие ситуации:
- массив сортируется по ID в myDataObject каждый раз новый ID «выталкивается»
- поиска в массиве необходимых данных осуществляется своего рода алгоритм быстрой сортировки
Как справиться с этим объектом:
var someCrazyID = 1233AFE12B00ED;
console.log(myObject[someCrazyID].attribute);
Происходит ли он повторять весь объект, или он делает что-то симулятивное в фоновом режиме, как я бы сделал с массивом вручную?
Пожалуйста аргумент только в аспекте производительности, прежде всего, и в конце концов, я также хотел бы знать ваше общее изменение мнения (техническое обслуживание и т.д.)
Спасибо за помощь заранее
Я думаю, что нет существенной разницы. js array основан на ключах/значениях. даже вы даете целое число как индекс, оно по-прежнему зависит от ключа/значения – Adem
Вы можете сортировать массивы, и вы можете искать значения с помощью ключей в объектах. Производительность мудрая, вероятно, не имеет значения, что вы выбираете, если она подходит для данных и использования. – adeneo
Ничего подобного [пытается] (http://jsperf.com/) – JNF