@MelancholicTheDie
PHP Developer

JS Как оптимизировать поиск объекта в массиве?

Добрый вечер.

Я частенько работаю с объектами, и частенько у меня создаются некоторые массивы или листинги, в которых хранятся объекты. Они не большие, но часто нужно находить нужный объект по определенному свойству.

var queue = [];
var object = {
    param: 5
};
queue.push(object);

var index = -1;
var pm = 5;
var len = queue.length;
for (var i = 0; i < len; i++) {
    if (queue[i].param === pm) {
        index = i;
        break;
    }
}

if (index !== -1) {
    queue.splice(index, 1);
} else {
    console.log('Error: not delete');
}


Из-за этого приходится часто прибегать к таким вот вставкам, из-за чего код становится гг, хотелось бы знать уже нормальный способ реализации поиска нужного объекта по определенному параметру.
  • Вопрос задан
  • 455 просмотров
Пригласить эксперта
Ответы на вопрос 4
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
Комментировать
@lega
_.findWhere(queue, {param: pm});
Ответ написан
@vshvydky
Оптимизация поиска, это использование различных алгоритмов, метод половинного деления, хорд и парабол и блаблабла, а в вашем случае надо написать одну функцию, которая будет возвращать вам результат и все.
Ответ написан
Комментировать
AlexXYZ
@AlexXYZ
O Keep Clear O
Внесу свои пять копеек, вдруг пригодиться: https://github.com/jayway/JsonPath
Типа xPath, только для json.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы