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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> поиск элемента в массиве 
:(
    Опции темы
lumentek
Дата 2.8.2010, 09:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Есть массив, например
var arr = ["a","b","c"];

Мне нужно проверить есть ли искомый элемент в данном мссиве.
p.s. в php есть замечательная функция in_array() для таких вещей
PM MAIL   Вверх
Amphiluke
Дата 2.8.2010, 09:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


   ☽
***


Профиль
Группа: Завсегдатай
Сообщений: 1253
Регистрация: 26.8.2009

Репутация: 39
Всего: 112



Некоторые браузеры ввели поддержку метода indexOf для массивов, но полагаться на это всё же не стоит. Лучше напишите свою функцию с обходом массива в цикле.
PM   Вверх
CruorVult
Дата 2.8.2010, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 868
Регистрация: 24.9.2008
Где: г.Киев, Украина

Репутация: 3
Всего: 28



Цитата(Amphiluke @  2.8.2010,  09:41 Найти цитируемый пост)
Лучше напишите свою функцию с обходом массива в цикле.

зачем свою писать, тут всё есть http://phpjs.org/functions/in_array:432
PM MAIL Skype   Вверх
skyboy
Дата 2.8.2010, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 3
Всего: 260



Код

Array.prototype.inArray = function(value) {
 var i= 0;
 while(i< this.length) {
  if (this[i] == value) {
    return true;
  }
  i++;
 }
 return false;
}

использование:
Код

[1,2,3].inArray(3); // true
var ar = [7,8,9, [10, 11]];
ar.inArray(7); // true
ar.inArray(10); // false

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


Новичок



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

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



Код

Array.prototype.indexOf = Array.prototype.indexOf || function ( value ) {
    for ( var i = 0; i < this.length; i++ ) {
        if ( this[i] === value ) {
            return true;
        }
    }
    return false;
};


В W3C-браузерах будет задействован встроенный метод, ну  а в осле — тупой перебор массива.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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