Я хотел бы выделить конкретный объект из массива объектов на основе уникального свойства этого объекта (т. Е. Ключа).Более эффективный поиск массива
В дальнейшем, я ищу для элемента «обра», откуда ключ 8.
var myElement = arr.filter(function(element) {
return element.key === 8;
});
Это работает, но каждый раз, когда это работает, он будет перебирать все элементы в массиве , даже после того, как найден правильный элемент. Например, если он находит myElement в индексе 4, но в массиве 100 элементов, фрагмент работает на 25 раз больше, чем нужно.
Есть ли более эффективный способ или способ прервать фильтр(), когда он нашел myElement?
Я чувствую, что я упустил что-то очевидное ...
Это неправильно.Фильтр возвращает новый массив (поэтому, если вы не знаете **, у вас есть один объект, это может вернуть массив размера два с двумя объектами с ключом === 8'). Вы можете использовать простой цикл 'for'. –
ключи уникальны, поэтому будет только один объект с 'element.key === 8' – davidnc
см. Мой ответ, в частности вторую часть. –