logo

Différence entre indexof et recherche en JavaScript

Introduction:

JavaScript est un langage de programmation largement utilisé et fournit plusieurs méthodes intégrées pour manipuler les chaînes. Deux des méthodes les plus couramment utilisées pour rechercher dans une chaîne un caractère ou une sous-chaîne spécifique sont Indice de() et recherche() . Bien que ces deux méthodes puissent sembler similaires en termes de fonctionnalités, elles présentent quelques différences clés. Dans cet article, nous explorerons les différences entre indexOf() et search() en JavaScript.

Méthode indexOf() :

Le Indice de() La méthode est une fonction JavaScript intégrée utilisée pour trouver l'index de la première occurrence d'une sous-chaîne dans une chaîne donnée. Cette méthode renvoie l'index de la première occurrence de la sous-chaîne spécifiée, en commençant par le début de la chaîne. Si la sous-chaîne n'est pas trouvée, la méthode renvoie -1 .

Syntaxe:

La syntaxe d'utilisation du Indice de() la méthode est la suivante :

 string.indexOf(searchValue[, fromIndex]) 

Ici, chaîne est la chaîne à rechercher, valeur de recherche est la valeur à rechercher, et deIndex est le paramètre facultatif qui spécifie la position dans la chaîne où la recherche doit commencer. Si la deIndex n'est pas fourni, le Indice de() La méthode démarre la recherche à partir du début de la chaîne. Si deIndex est un négatif valeur, la recherche commence à la fin de la chaîne.

Exemple:

chaîne de concaténation Java

Prenons un exemple pour comprendre Indice de() méthode:

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

Sortir:

 16 

Explication:

Ici le Méthode indexOf() recherche la première occurrence du mot 'puissant' dans la chaîne « JavaScript est un langage de programmation puissant » . Depuis le mot 'puissant' apparaît à l'index 16 , la méthode renvoie 16 .

Méthode search() :

Le méthode recherche() est également une fonction JavaScript intégrée utilisée pour trouver l'index du premier caractère d'une sous-chaîne dans une chaîne donnée. Cette méthode renvoie l'index de la première occurrence de la sous-chaîne spécifiée, en commençant par le début de la chaîne. Si la sous-chaîne n'est pas trouvée, la méthode renvoie -1 .

Syntaxe:

La syntaxe d'utilisation du méthode recherche() est comme suit:

 string.search(regexp) 

Ici, chaîne est la chaîne à rechercher, et expression rationnelle est le expression régulière modèle à rechercher. Si la expression régulière modèle est trouvé, le recherche() La méthode renvoie l'index du premier caractère de la correspondance. Si le modèle d'expression régulière n'est pas trouvé, la méthode renvoie -1 .

Exemple:

Prenons un exemple pour comprendre recherche() méthode:

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

Sortir:

 16 

Explication:

Ici le recherche() méthode recherche le expression régulière modèle /puissant/ dans la chaîne « JavaScript est un langage de programmation puissant » . Puisque le modèle d'expression régulière correspond au mot 'puissant' , la méthode renvoie 16 .

Différences entre indexOf() et search() :

Bien que les deux Indice de() et recherche() Les méthodes sont utilisées pour rechercher une sous-chaîne dans une chaîne donnée, elles présentent quelques différences clés. Jetons un coup d'œil à ces différences côte à côte :

Méthode indexOf() Méthode search()
Indice de() La méthode recherche une sous-chaîne spécifiée dans une chaîne donnée. recherche() La méthode recherche un modèle d’expression régulière dans une chaîne donnée.
La méthode indexOf() renvoie l'index de la première occurrence de la sous-chaîne spécifiée. La méthode search() renvoie l'index du premier caractère de la correspondance.
La méthode indexOf() ne prend pas en charge les expressions régulières. La méthode search() prend en charge les expressions régulières.
La méthode indexOf() peut accepter un paramètre facultatif fromIndex pour lancer la recherche à partir d'un index spécifique. La méthode search() n'accepte pas de paramètre facultatif pour lancer la recherche à partir d'un index spécifique.
La méthode indexOf() est plus rapide que la méthode search() car elle ne prend pas en charge les expressions régulières. La méthode search() est plus lente que la méthode indexOf() car elle prend en charge les expressions régulières.
La méthode indexOf() est sensible à la casse. La méthode search() est également sensible à la casse par défaut, mais peut être rendue insensible à la casse à l'aide de la commande /je signale dans le modèle d’expression régulière.
La méthode indexOf() est largement utilisée pour les recherches de chaînes simples. La méthode search() est largement utilisée pour la mise en correspondance de modèles complexes à l’aide d’expressions régulières.

Conclusion:

En conclusion, les deux Indice de() et recherche() les méthodes sont utiles pour rechercher une sous-chaîne dans une chaîne donnée. Cependant, ils présentent quelques différences clés qui les rendent adaptés à différents cas d’utilisation. La méthode indexOf() est plus rapide et plus adaptée aux recherches de chaînes simples, tandis que la méthode search() prend en charge les expressions régulières et est plus adaptée à la correspondance de modèles complexes. Il est important de choisir la méthode appropriée en fonction des exigences spécifiques de votre programme.