Клавиша / esc

.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.

Можно считать, что при передаче второго аргумента строка обрезается. В примере выше поиск будет осуществляться в строке Привет.