logo

Diferença entre indexof e pesquisa em JavaScript

Introdução:

JavaScript é uma linguagem de programação amplamente usada e fornece vários métodos integrados para manipular strings. Dois dos métodos mais comumente usados ​​para pesquisar uma string em busca de um caractere ou substring específico são índice de() e procurar() . Embora esses dois métodos possam parecer semelhantes em funcionalidade, eles apresentam algumas diferenças importantes. Neste artigo, exploraremos as diferenças entre indexOf() e search() em JavaScript.

Método indexOf():

O índice de() método é uma função JavaScript integrada usada para encontrar o índice da primeira ocorrência de uma substring em uma determinada string. Este método retorna o índice da primeira ocorrência da substring especificada, começando no início da string. Se a substring não for encontrada, o método retornará -1 .

Sintaxe:

A sintaxe para usar o índice de() método é o seguinte:

 string.indexOf(searchValue[, fromIndex]) 

Aqui, corda é a string a ser pesquisada, valor de pesquisa é o valor a ser pesquisado e do índice é o parâmetro opcional que especifica a posição na string onde a pesquisa deve começar. Se o do índice não é fornecido, o índice de() O método inicia a pesquisa desde o início da string. Se do índice é um negativo valor, a pesquisa começa no final da string.

Exemplo:

regexp_like no mysql

Vamos dar um exemplo para entender o índice de() método:

 let str = 'JavaScript is a powerful programming language'; let index = str.indexOf('powerful'); console.log(index); 

Saída:

 16 

Explicação:

Aqui o método indexOf() procura pela primeira ocorrência da palavra 'poderoso' na corda 'JavaScript é uma linguagem de programação poderosa' . Desde a palavra 'poderoso' aparece no índice 16 , o método retorna 16 .

Método de pesquisa():

O método de pesquisa() também é uma função JavaScript integrada usada para encontrar o índice do primeiro caractere de uma substring em uma determinada string. Este método retorna o índice da primeira ocorrência da substring especificada, começando no início da string. Se a substring não for encontrada, o método retornará -1 .

Sintaxe:

A sintaxe para usar o método de pesquisa() é o seguinte:

 string.search(regexp) 

Aqui, corda é a string a ser pesquisada e expressão regular é o expressão regular padrão a ser pesquisado. Se o expressão regular padrão é encontrado, o procurar() método retorna o índice do primeiro caractere da correspondência. Se o padrão de expressão regular não for encontrado, o método retornará -1 .

Exemplo:

Vamos dar um exemplo para entender o procurar() método:

 let str = 'JavaScript is a powerful programming language'; let index = str.search(/powerful/); console.log(index); 

Saída:

 16 

Explicação:

Aqui o procurar() método procura o expressão regular padrão /poderoso/ na corda 'JavaScript é uma linguagem de programação poderosa' . Como o padrão de expressão regular corresponde à palavra 'poderoso' , o método retorna 16 .

Diferenças entre indexOf() e search():

Embora ambos índice de() e procurar() são usados ​​para procurar uma substring dentro de uma determinada string, eles têm algumas diferenças importantes. Vamos dar uma olhada nessas diferenças lado a lado:

Método indexOf() Método search()
índice de() O método procura uma substring especificada dentro de uma determinada string. procurar() O método procura um padrão de expressão regular dentro de uma determinada string.
O método indexOf() retorna o índice da primeira ocorrência da substring especificada. O método search() retorna o índice do primeiro caractere da correspondência.
O método indexOf() não oferece suporte a expressões regulares. O método search() suporta expressões regulares.
O método indexOf() pode aceitar um parâmetro opcional fromIndex para iniciar a pesquisa a partir de um índice específico. O método search() não aceita parâmetro opcional para iniciar a busca a partir de um índice específico.
O método indexOf() é mais rápido que o método search() porque não suporta expressões regulares. O método search() é mais lento que o método indexOf() porque suporta expressões regulares.
O método indexOf() diferencia maiúsculas de minúsculas. O método search() também diferencia maiúsculas de minúsculas por padrão, mas pode tornar-se insensível a maiúsculas e minúsculas usando o /eu sinalizar no padrão de expressão regular.
O método indexOf() é amplamente utilizado para pesquisas simples de strings. O método search() é amplamente utilizado para correspondência de padrões complexos usando expressões regulares.

Conclusão:

Em conclusão, ambos índice de() e procurar() métodos são úteis para procurar uma substring dentro de uma determinada string. No entanto, eles têm algumas diferenças importantes que os tornam adequados para diferentes casos de uso. O método indexOf() é mais rápido e mais adequado para pesquisas simples de strings, enquanto o método search() oferece suporte a expressões regulares e é mais adequado para correspondência de padrões complexos. É importante escolher o método apropriado com base nos requisitos específicos do seu programa.