@whyamiscott

Что быстрее, Array или Object?

var obj1 = {id: 'id1', data: 'some data'};
var obj2 = {id: 'id2', data: 'another data'};

var objectsArr = [obj1, obj2];
var objects = {obj1.id: obj1, obj2.id: obj2};

var fromArr, fromObj;

for (var i=0; i<objectsArr.length; i++) {
  if (objectsArr[i].id === 'id1') {
    fromArr = objectsArr[i];
    break();
  }
}

fromObj = objects['id1'];


Что в данном случае отработает быстрее, поиск в массиве посредством итерации или обращение к свойству объекта?
  • Вопрос задан
  • 292 просмотра
Пригласить эксперта
Ответы на вопрос 3
BuriK666
@BuriK666
Компьютерный псих
Конечно обращение к свойству объекта.
В случае с объектом сложность О(1), а с массивом O(n)
Ответ написан
Комментировать
victorzadorozhnyy
@victorzadorozhnyy
Андрей Буров согласен, если реально большие объекты, то можно еще вынести декларацию var i=0; i
var i=0,
o=objectsArr.length;
for (i; i<o; i++) {
}
Ответ написан
k12th
@k12th
console.log(`You're pulling my leg, right?`);
Сделайте тест на jsperf.com и посмотрите. Результаты могут быть неожиданными.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы