Поиск по сайту:
Познать — значит внутренне изменить себя (Авессалом Подводный).

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...
17.11.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
Если статья понравилась, то поделитесь ей в социальных сетях:

Это может быть вам интересно

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии