.lastIndexOf()

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

Время чтения: меньше 5 мин

Кратко

Скопировано

Метод lastIndexOf() служит для поиска индекса последнего элемента. Он определён для массивов и строк.

При вызове этого метода нужно передать элемент, который нужно найти в массиве или подстроку при поиске в строке. Метод вернёт индекс последнего вхождения. Если ничего не найдено, то вернётся -1.

lastIndexOf() работает аналогично методу Array.indexOf(), но начинает поиск с конца массива.

Как пишется

Скопировано

Синтаксис метода выглядит так:

        
          
          arr.lastIndexOf(searchElement[, fromIndex])
          arr.lastIndexOf(searchElement[, fromIndex])

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

Как понять

Скопировано

Метод lastIndexOf() просматривает массив или строку справа налево. Если ничего не найдено, метод возвращает -1.
Для массива lastIndexOf() возвращает индекс последнего вхождения.
Для строки все то же самое, но поиск ведётся по подстрокам и возвращается индекс начала последнего вхождения подстроки.

        
          
          const arr = [2, 5, 9, 2];console.log(arr.lastIndexOf(2));// 3console.log(arr.lastIndexOf(7));// -1console.log("раз собачка, два собачка".lastIndexOf("собачка"));// 17
          const arr = [2, 5, 9, 2];
console.log(arr.lastIndexOf(2));
// 3
console.log(arr.lastIndexOf(7));
// -1

console.log("раз собачка, два собачка".lastIndexOf("собачка"));
// 17

        
        
          
        
      

Мы также можем указать параметр fromIndex для начала поиска с определённого индекса:

        
          
          let index = "Привет, мир!".lastIndexOf("и", 5);console.log(index); // 2
          let index = "Привет, мир!".lastIndexOf("и", 5);
console.log(index); // 2

        
        
          
        
      

В этом примере мы ищем символ и в строке Привет, мир!, начиная с индекса 5 (включительно). Метод lastIndexOf() возвращает индекс последнего вхождения символа и, который равен 2.
Можно считать что при передаче второго аргумента строка обрезается, для примера выше поиск будет осуществляться в строке Привет.