Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 17.09.2016, 19:07
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

А зачем вам эти фильтры и прочая тряхомудия?

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. Проверка на ундефайнед нужна на случай, если такого поля там нет вообще.

Что делать с нотфаунд в ООП - это уже отдельный стон.
Ответить с цитированием
  #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 элементах. Долговато это будет.
Ответить с цитированием
  #13 (permalink)  
Старый 14.10.2016, 08:10
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Сообщение от neon_tmn
10 элементов и есть 20 искомых значений

Забыл как умножить 10 на 20? Я помню, будет 200. Не многовато ли? Ну как тебе сказать, это примерно как если пописить в тихий океан и начать волноваться о затоплении Венеции.

У тебя какой комп? 286 штоле? Какие блин 200? 200000 не заметишь нифига. Два миллиона итераций еще может будет заметно. Там же итерации микроскопические, хера ли тут думать, все равно у тебя нет другого способа.

Нет, есть еще способ - можешь проиндексировать все поля. Приколись.

Последний раз редактировалось warren buffet, 14.10.2016 в 08:13.
Ответить с цитированием
  #14 (permalink)  
Старый 14.10.2016, 08:16
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

Индексация знаешь как делается? Тебе ее придется сделать скриптом, получить из него скрипт, добить индексы в исходный код и впоследствии поддерживать все индексы когда данные будут удаляться, добавляться и изменяться.

Нравится? Вот так. Итерируй свои 200, для современного браузера это с гулькин член задача.
Ответить с цитированием
  #15 (permalink)  
Старый 14.10.2016, 08:22
Профессор
Отправить личное сообщение для warren buffet Посмотреть профиль Найти все сообщения от warren buffet
 
Регистрация: 08.07.2016
Сообщений: 1,332

И вообще задолбали оптимизаторы. Это дело по Фрейду знаешь как называется? - Анальная фиксация. Чтобы избавиться от этой фиксации, посмотри исходники хотя бы этого форума, он весь на жабе скрипучей. И еще один способ - задумайся о количестве итераций и ресурсов браузера для размочки жипега 1200 на 800 с последующей бикубической интерполяцией до 458 на сколько там. Одна такая картинка может зохавать в 100 раз больше, чем все твои скрипты вместе взятые.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как удалить объект прототипа по значению свойства? A1x1On2015 Общие вопросы Javascript 5 30.07.2015 17:41
Обращение к объекту. SPQR Общие вопросы Javascript 4 15.01.2014 10:42
Как обратиться к значению свойства SA1992 Общие вопросы Javascript 7 17.12.2013 15:36
Как реализовать обращение к объекту, конкретнее см внутри kichSman jQuery 4 15.08.2012 18:06
Обращение к объекту через ссылку boro-da jQuery 4 08.08.2011 15:48