Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Найти значение в массиве, на JavaScript или jQuery 
V
    Опции темы
zluka
Дата 17.8.2010, 18:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 27.7.2006

Репутация: нет
Всего: 2



Написал функцию:
Код

function searchInArray(value, array)
{
    for(var i=0; i < array.length; i++)
    {
        if(array[i] == value)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}

var ids_array = new Array(3146, 3145, 545, 549);
//В this.Id есть такие значения 3145, 3146, 545, 549, 553, 557

$.each(searchResults.Results, function () //Вывод результатов
{
if(searchInArray(this.Id, ids_array)) //Проверяем или this.Id лежит в массиве
{
    alert(this.Id+'-ID property in array!');
}
else
{
    alert(this.Id+'-ID property NOT in array!');
}
});

Очень странно ведет себя ф-я searchInArray().
Пишет в алерте "3146-ID property in array!" то есть 3146 находит.
А для всех остальных айдишек: "-ID property NOT in array"
В чем проблема?


--------------------
user posted image
PM MAIL   Вверх
bars80080
Дата 17.8.2010, 19:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 15
Всего: 315



а нечего было писать так странно. у вас всегда выполняется всего одна итерация в цикле, вынесите return false за цикл:

Код

function searchInArray(value, array)
{
    for(var i=0; i < array.length; i++)
    {
        if(array[i] == value)
        {
            return true;
        }
    }
    return false
}

PM MAIL WWW   Вверх
zluka
Дата 17.8.2010, 19:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 278
Регистрация: 27.7.2006

Репутация: нет
Всего: 2



Цитата(bars80080 @  17.8.2010,  19:12 Найти цитируемый пост)
а нечего было писать так странно. у вас всегда выполняется всего одна итерация в цикле, вынесите return false за цикл:

Заработало smile 


Спасибо smile 

P.S. Короче под вечер голова не бум-бум..

Это сообщение отредактировал(а) zluka - 17.8.2010, 19:25


--------------------
user posted image
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0416 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.