Все прекрасное редко (Цицерон).

JavaScript – Массивы. Метод indexOf

1 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (4 оценок, среднее: 5,00 из 5)
Загрузка...
8 ноября 2018

Описание

Метод indexOf() в Javascript возвращает первый индекс, в котором данный элемент может быть найден в массиве, или -1, если он отсутствует.

Синтаксис

Его синтаксис выглядит следующим образом:

array.indexOf(searchElement[, fromIndex]);

Детали параметров

  • searchElement – элемент, который можно найти в массиве.
  • fromIndex – индекс, с которого начинается поиск. По умолчанию 0, т. е. будет проведен поиск всего массива. Если индекс больше или равен длине массива, возвращается -1.

 

Возвращаемое значение

Возвращает индекс найденного элемента.

 

Совместимость

Этот метод является расширением JavaScript стандарта ECMA-262; как таковой, он не может присутствовать в других реализациях стандарта. Чтобы он работал, вам нужно добавить следующий код в верхней части вашего скрипта.

if (!Array.prototype.indexOf)
{
   Array.prototype.indexOf = function(elt /*, from*/)
   {
      var len = this.length;
      
      var from = Number(arguments[1]) || 0;
      from = (from < 0)
      ? Math.ceil(from)
      : Math.floor(from);
      
      if (from < 0)
      from += len;
      
      for (; from < len; from++)
      {
         if (from in this &&
         this[from] === elt)
         return from;
      }
      return -1;
   };
}

Пример

Попробуйте следующий пример.

<html>
   <head>
      <title>JavaScript - Массивы. Метод indexOf</title>
   </head>
   
   <body>
   
      <script type="text/javascript">
         if (!Array.prototype.indexOf)
         {
            Array.prototype.indexOf = function(elt /*, from*/)
            {
               var len = this.length;
               
               var from = Number(arguments[1]) || 0;
               from = (from < 0)
               ? Math.ceil(from)
               : Math.floor(from);
               
               if (from < 0)
               from += len;
               
               for (; from < len; from++)
               {
                  if (from in this &&
                  this[from] === elt)
                  return from;
               }
               return -1;
            };
         }
         
         var index = [12, 5, 8, 130, 44].indexOf(8);
         document.write("индекс : " + index ); 
         
         var index = [12, 5, 8, 130, 44].indexOf(13);
         document.write("<br />индекс : " + index ); 
      </script>
      
   </body>
</html>

 

Вывод

индекс : 2
индекс : -1

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Просмотров: 13

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

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

    Войти с помощью: 

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

    Сообщить об опечатке

    Текст, который будет отправлен нашим редакторам:

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close