Два величайших тирана на земле: случай и время (И. Гердер).

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

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

Описание

Метод lastIndexOf() в javascript возвращает последний индекс, в котором данный элемент может быть найден в массиве, или -1, если его нет. Массив выполняется в обратном порядке, начиная сIndex.

 

Синтаксис

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

array.lastIndexOf(searchElement[, fromIndex]);

 

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

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

 

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

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

 

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

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

if (!Array.prototype.lastIndexOf)
{
   Array.prototype.lastIndexOf = function(elt /*, from*/)
   {
      var len = this.length;
      var from = Number(arguments[1]);
      
      if (isNaN(from))
      {
         from = len - 1;
      }
      else
      {
         from = (from < 0)
         ? Math.ceil(from)
         : Math.floor(from);

         if (from < 0)
         from += len;
         
         else if (from >= len)
         from = len - 1;
      }
      
      for (; from > -1; from--)
      {
         if (from in this &&
         this[from] === elt)
         return from;
      }
      return -1;
   };
}

 

Пример

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

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

 

Вывод

Индекс : 2
Индекс : 5

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

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

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

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

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

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

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

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

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

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

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

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

    close
    galka

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

    close