Esta página foi traduzida do inglês pela comunidade.Saiba mais e junte-se à comunidade MDN Web Docs.
String.prototype.indexOf()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since julho de 2015.
Sumário
O métodoindexOf() retorna o índice da primeira ocorrência do valor fornecido em searchValue, começando a busca a partir defromIndex. Retorna-1 se o valor não for encontrado.
Nota:Para o método de Array, vejaArray.prototype.indexOf().
In this article
Sintaxe
str.indexOf(searchValue[, fromIndex])
Parâmetros
searchValueUma string representando o valor a ser buscado. Se nenhuma string for fornecida explicitamente,
searchValueterá o valor deundefined, e esse valor será buscado na string atual. Por exemplo,'undefined'.indexOf()retornará0, já queundefinedé encontrado na posição0. Já'undefine'.indexOf()retornará-1, já queundefinednão pôde ser encontrado.fromIndexUm número inteiro representando um índice da string original a partir da qual a busca deve começar. Por padrão é
0. SefromIndex < 0, a string toda é percorrida (equivale a passar 0). SefromIndex >= str.length, o método retornará-1, já que a busca será iniciada após o final da string.
Valor retornado
O índice da primeira ocorrência desearchValue, ou-1 se não for encontrado.
Uma string vazia nosearchValue produz resultados estranhos. SemfromIndex, ou com qualquerfromIndex menor que o comprimento da string, o valor retornado é o própriofromIndex:
"Olá, mundo".indexOf(""); // retorna 0"Olá, mundo".indexOf("", 0); // retorna 0"Olá, mundo".indexOf("", 3); // retorna 3"Olá, mundo".indexOf("", 8); // retorna 8Entretanto, com qualquerfromIndex igual ou maior que o comprimento da string, o valor retornado é o comprimento da string:
"Olá, mundo".indexOf("", 11); // retorna 10"Olá, mundo".indexOf("", 13); // retorna 10"Olá, mundo".indexOf("", 22); // retorna 10Descrição
Caracteres em uma string são indexados da esquerda para a direita. O índice do primeiro caractere é0, e o índice do último caractere de uma string chamadastringName éstringName.length - 1.
"Blue Whale".indexOf("Blue"); // retorna 0"Blue Whale".indexOf("Whale"); // retorna 5"Blue Whale".indexOf("Blute"); // retorna -1"Blue Whale".indexOf("Whale", 0); // retorna 5"Blue Whale".indexOf("Whale", 5); // retorna 5"Blue Whale".indexOf("Whale", 7); // retorna -1"Blue Whale".indexOf(""); // retorna 0"Blue Whale".indexOf("", 9); // retorna 9"Blue Whale".indexOf("", 10); // retorna 10"Blue Whale".indexOf("", 11); // retorna 10Verificando ocorrências
Note que um retorno0 não implica emtrue, e-1 não implica emfalse. Portanto, a maneira correta de se verificar se uma string específica está contida em outra string seria:
"Blue Whale".indexOf("Blue") !== -1; // true"Blue Whale".indexOf("Bloe") !== -1; // falseExemplos
>UsandoindexOf()
O exemplo a seguir usaindexOf() para localizar valores dentro da string "Brave new world".
var anyString = "Brave new world";console.log( "O índice do primeiro w partindo do começo é " + anyString.indexOf("w"),);// Exibe 8console.log( "O índice de 'new' partindo do começo é " + anyString.indexOf("new"),);// Exibe 6indexOf() e sensibilidade a maiúsculas e minúsculas
O exemplo a seguir define duas variáveis string. Ambas contém a mesma string, exceto que a segunda string tem letras maiúsculas. O primeiro métodoconsole.log() exibe19. Porém, como o métodoindexOf é sensível a letras maiúsculas e minúsculas, a string"cheddar" não é encontrada emmyCapString, portanto, o segundo métodoconsole.log() exibe-1.
var myString = "brie, pepper jack, cheddar";var myCapString = "Brie, Pepper Jack, Cheddar";console.log('myString.indexOf("cheddar") é ' + myString.indexOf("cheddar"));// Exibe 19console.log( 'myCapString.indexOf("cheddar") é ' + myCapString.indexOf("cheddar"),);// Exibe -1UsandoindexOf() para contar as ocorrências de uma letra numa string
O exemplo a seguir atribui à variávelcount o número de ocorrências da letrax na stringstr:
const str = "Serx ou não ser, eisx a questão";count = 0;pos = str.indexOf("x"); // retorna 3while (pos != -1) { count++; pos = str.indexOf("x", pos + 1 /* o mesmo que 3 + 1 */);}console.log(count);Especificações
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-string.prototype.indexof> |