Показать сообщение отдельно
  #12 (permalink)  
Старый 14.10.2016, 08:06
Аспирант
Отправить личное сообщение для neon_tmn Посмотреть профиль Найти все сообщения от neon_tmn
 
Регистрация: 29.04.2010
Сообщений: 51

Сообщение от warren buffet Посмотреть сообщение
А зачем вам эти фильтры и прочая тряхомудия?

function myLovelySearch(arr,val,fld){

   fld=fld||'id';

   for(var i=0;i<arr.length;i++)
       if(typeof arr[i][fld]!=='undefined' && val==arr[i][fld])
          return arr[i];

}

var found = myLovelySearch(obj.num,'Два','name');
console.log(found.id);


It's all folks. Проверка на ундефайнед нужна на случай, если такого поля там нет вообще.

Что делать с нотфаунд в ООП - это уже отдельный стон.

До этого вы писали примеры с IN, не помогут. вы предлагаете искать строку в заданном индексе, например индекс 2. А если у меня 10 индексов и я не знаю, в каком из них будет искомое значение. перебирать циклом? ок.
Дальше, последнее ваше сообщение циклом обходит весь массив. Это в принципе не плохо, но в моем реальном случае получается так, что у меня есть массив из 10 элементов и есть 20 искомых значений. По идее мне нужно будет делать цикл по значение из 20 штук и на каждое делать вложенный цикл на поиск значения в 10 элементах. Долговато это будет.
Ответить с цитированием