Я ем, чтобы жить, а другие люди живут, чтобы есть (Сократ).

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

2 мин для чтения
FavoriteLoadingДобавить в избранное
1 Звезда2 Звезды3 Звезды4 Звезды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.

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

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

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

    Отправить ответ

    Войти с помощью: 
    avatar
      Подписаться  
    Уведомление о

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

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

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

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

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

    close
    galka

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

    close