String.prototype.lastIndexOf()

O método lastIndexOf() retorna o índice da última ocorrência do valor especificado encontrado na String. Quando fromIndex é especificado, a pesquisa é realizada de trás para frente. Retorna -1 se o valor não for encontrado.

Sintaxe

str.lastIndexOf(searchValue[, fromIndex])

Parâmetros

searchValue
Uma string representando o valor a ser procurado. Se searchValue for uma string vazia, str.length é retornado.
fromIndex
Opcional. O índice no qual a pesquisa será iniciada de trás para frente. O valor padrão é +Infinity. Se fromIndex >= str.length, toda string é pesquisada. Se fromIndex < 0, o comportamento será o mesmo que seria com o índice 0.

Valor retornado

O índice da última ocorrência referente ao valor especificado em searchValue. É retornado -1 se nada for encontrado.

Descrição

Os caracteres em uma string são indexados da esquerda para a direita. O índice do primeiro caractere é 0, e o índice do último caractere é str.length - 1.

'ricardo'.lastIndexOf('r');     // retorna 4
'ricardo'.lastIndexOf('a', 3);  // retorna 3
'ricardo'.lastIndexOf('a', 0);  // retorna -1
'ricardo'.lastIndexOf('x');     // retorna -1
'ricardo'.lastIndexOf('r', -5); // retorna 0
'ricardo'.lastIndexOf('r', 0);  // retorna 0
'ricardo'.lastIndexOf('');      // retorna 7
'ricardo'.lastIndexOf('', 2);   // retorna 2

Sensível a maiúsculas e minúsculas

O método lastIndexOf() é sensível a letras maiúsculas e minúsculas. Por exemplo, a seguinte expressão retorna -1:

'Blue Whale, Killer Whale'.lastIndexOf('blue'); // retorna -1

Exemplos

Usando lastIndexOf()

O seguinte exemplo usa lastIndexOf() para localizar valores nas string "Brave new world".

var anyString = 'Brave new world';

console.log('O índice do primeiro w a partir do final é ' + anyString.lastIndexOf('w')); 
// retorna 10

console.log('O índice de "new" a partir do final é ' + anyString.lastIndexOf('new'));
// retorna 6

Especificações

Especificação Estado Comentários
ECMAScript 1st Edition (ECMA-262) Padrão Definição inicial.
ECMAScript 5.1 (ECMA-262)
The definition of 'String.prototype.lastIndexOf' in that specification.
Padrão
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'String.prototype.lastIndexOf' in that specification.
Padrão
ECMAScript (ECMA-262)
The definition of 'String.prototype.lastIndexOf' in that specification.
Padrão em tempo real
Estamos convertendo nossos dados de compatibilidade para o formato JSON. Esta tabela de compatibilidade ainda usa o formato antigo, pois ainda não convertemos os dados que ela contém. Descubra como você pode ajudar!
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Suporte básico (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Suporte básico (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

Veja também