Поиск элемента в массиве на JavaScript

Ниже представлен один из вариантов реализации поиска элемента в массиве на JavaScript. Функция find() возвращает номер элемента, если он найден. Во всех остальных случаях вы получите значение -1.

 /* Проверяем то, что наш браузер поддерживает indexOf: */
if ( [].indexOf ) { 
  var find = function(array, value) {
    return array.indexOf(value);
  }
/* В противном случае ищем самостоятельно: */
} else { 
  var find = function(array, value) {
    for(var i=0, l = array.length; i < l; i++) {
      if (array[i] === value) 
        return i;
    }
    return -1;
  }
}

/* Пример использования функции: */
testArray = [ "site", 9, 3.1, "y", true ];
alert( find(testArray, 3.1) );

Обратите внимание! Реализовано все с учетом того момента, что метод indexOf() к сожалению поддерживается не всеми интернет-обозревателями. Вот цитаты с Microsoft MSDN:

Поддерживается в следующих режимах документов: стандартный режим Internet Explorer 9 и стандартный режим Internet Explorer 10. Также поддерживается в приложениях Магазина Windows.

Не поддерживается в следующих режимах документов: «случайный» режим, стандартный режим Internet Explorer 6, стандартный режим Internet Explorer 7, стандартный режим Internet Explorer 8.

Опубликовано 8-08-2013 в 17:10


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>











Свежие комментарии

  • krasnov8953: к записи Не работает как мне кажется строчка $newTvId = $ »
  • Dimanski: к записи ничего не понимаю. Ставлю ModX на хостинг r01.ru »
  • Дмитрий: к записи Спасибо! Очень выручили. С битриксом беда, а прав »
  • леонид: к записи как сделать что были в ряд? у меня получается по о »
  • Администратор: к записи Статический IP. »
  • Steel: к записи Администратор, вы данную проблему решили подключен »
  • Дмитрий: к записи Хотел узнать как прикрутить данное окно (http://re »

Blogroll:

  • вот ссылка

Последние твиты