String.prototype.lastIndexOf()

Метод lastIndexOf() повертає у об'єкті String, що його викликав, індекс останнього вживання вказаного значення. Пошук здійснюється з кінця рядка, починаючи з індекса fromIndex. Повертає -1, якщо значення не було знайдене.

Синтаксис

str.lastIndexOf(searchValue[, fromIndex])

Параметри

searchValue
Рядок, що є шуканим значенням. Якщо searchValue є порожнім рядком, то повертається fromIndex.
fromIndex Optional
Індекс останнього символу у рядку, який розглядатиметься як початок збігу. Значенням за замовчуванням є +Infinity. Якщо fromIndex >= str.length, пошук здійснюється по всьому рядку. Якщо fromIndex < 0, то результат буде той самий, що і за fromIndex = 0.

Вертає

Індекс останнього знайденого збігу (першого з кінця); якщо збігу не знайдено, вертає значення -1.

Опис

Символи рядка мають індекси зліва направо. Індексом першого символу є 0, а індексом останнього str.length - 1.

'морок'.lastIndexOf('о');      // вертає  3
'морок'.lastIndexOf('о', 2);   // вертає  1
'морок'.lastIndexOf('о', 0);   // вертає -1
'морок'.lastIndexOf('ф');      // вертає -1
'морок'.lastIndexOf('м', -5);  // вертає  0
'морок'.lastIndexOf('м', 0);   // вертає  0
'морок'.lastIndexOf('');       // вертає  5
'морок'.lastIndexOf('', 2);    // вертає  2

Заувага: 'баба'.lastIndexOf('ба', 2) поверне 2, а не 0, оскільки fromIndex обмежує лише початок збігу.

Регістрозалежність метода lastIndexOf()

Метод lastIndexOf() чутливий до регістру. Наприклад, наступний вираз вертає -1:

'Брі, Дорблю, Камамбер'.lastIndexOf('дорблю');  // вертає -1

Приклади

Використання indexOf() та lastIndexOf()

Наступний приклад використовує indexOf() та lastIndexOf(), щоб знайти значення у рядку "абабагаламага".

var anyString = 'абабагаламага';

console.log('Індекс першого "га" з початку дорівнює ' + anyString.indexOf('га'));
// виводить 5
console.log('Індекс першого "га" з кінця дорівнює ' + anyString.lastIndexOf('га'));
// виводить 11
console.log('Індекс "баба" з початку дорівнює ' + anyString.indexOf('баба'));
// виводить 1
console.log('Індекс "баба" з кінця дорівнює ' + anyString.lastIndexOf('баба'));
// виводить 1

Специфікації

Специфікація
ECMAScript (ECMA-262)
The definition of 'String.prototype.lastIndexOf' in that specification.

Підтримка веб-переглядачами

BCD tables only load in the browser

Див. також