logo

Diferența dintre indexof și căutare în JavaScript

Introducere:

JavaScript este un limbaj de programare utilizat pe scară largă și oferă mai multe metode încorporate pentru a manipula șirurile. Două dintre cele mai frecvent utilizate metode pentru căutarea unui șir pentru un anumit caracter sau subșir sunt Index de() și căutare() . Deși aceste două metode pot părea similare ca funcționalitate, ele au câteva diferențe cheie. În acest articol, vom explora diferențele dintre indexOf() și search() în JavaScript.

indexOf() Metoda:

The Index de() metoda este o funcție JavaScript încorporată care este utilizată pentru a găsi indexul primei apariții a unui subșir într-un șir dat. Această metodă returnează indexul primei apariții a subșirului specificat, începând de la începutul șirului. Dacă subșirul nu este găsit, metoda revine -1 .

Sintaxă:

Sintaxa pentru utilizarea Index de() metoda este urmatoarea:

 string.indexOf(searchValue[, fromIndex]) 

Aici, şir este șirul care trebuie căutat, searchValue este valoarea de căutat și dinIndex este parametrul opțional care specifică poziția în șir unde ar trebui să înceapă căutarea. Dacă dinIndex nu este furnizat, the Index de() metoda începe căutarea de la începutul șirului. Dacă dinIndex este o negativ valoare, căutarea începe de la sfârșitul șirului.

Exemplu:

bash if condiție

Să luăm un exemplu pentru a înțelege Index de() metodă:

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

Ieșire:

 16 

Explicaţie:

Aici metoda indexOf(). caută prima apariție a cuvântului 'puternic' în sfoară „JavaScript este un limbaj de programare puternic” . De când cuvântul 'puternic' apare la index 16 , metoda revine 16 .

search() Metoda:

The metoda search(). este, de asemenea, o funcție JavaScript încorporată care este utilizată pentru a găsi indexul primului caracter al unui subșir dintr-un șir dat. Această metodă returnează indexul primei apariții a subșirului specificat, începând de la începutul șirului. Dacă subșirul nu este găsit, metoda revine -1 .

Sintaxă:

Sintaxa pentru utilizarea metoda search(). este după cum urmează:

 string.search(regexp) 

Aici, şir este șirul care trebuie căutat și expresie regulată este expresie uzuala model de căutat. Dacă expresie uzuala se găsește modelul căutare() metoda returnează indexul primului caracter al potrivirii. Dacă modelul expresiei regulate nu este găsit, metoda revine -1 .

Exemplu:

Să luăm un exemplu pentru a înțelege căutare() metodă:

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

Ieșire:

 16 

Explicaţie:

Aici căutare() metoda caută expresie uzuala model /puternic/ în sfoară „JavaScript este un limbaj de programare puternic” . Deoarece modelul expresiei regulate se potrivește cu cuvântul 'puternic' , metoda revine 16 .

Diferențele dintre indexOf() și search():

Deși ambele Index de() și căutare() metodele sunt folosite pentru a căuta un subșir într-un șir dat, ele au câteva diferențe cheie. Să aruncăm o privire la aceste diferențe una lângă alta:

indexOf() Metoda search() Metoda
Index de() metoda caută un subșir specificat într-un șir dat. căutare() metoda caută un model de expresie regulată într-un șir dat.
Metoda indexOf() returnează indexul primei apariții a subșirului specificat. Metoda search() returnează indexul primului caracter al potrivirii.
Metoda indexOf() nu acceptă expresii regulate. Metoda search() acceptă expresii regulate.
Metoda indexOf() poate accepta un parametru opțional din Index pentru a începe căutarea de la un index specific. Metoda search() nu acceptă un parametru opțional pentru a începe căutarea de la un index specific.
Metoda indexOf() este mai rapidă decât metoda search() deoarece nu acceptă expresii regulate. Metoda search() este mai lentă decât metoda indexOf() deoarece acceptă expresii regulate.
Metoda indexOf() este sensibilă la majuscule și minuscule. Metoda search() este, de asemenea, sensibilă la majuscule și minuscule în mod implicit, dar poate fi făcută indiferență folosind /i steag în modelul expresiei regulate.
Metoda indexOf() este utilizată pe scară largă pentru căutări simple de șiruri. Metoda search() este utilizată pe scară largă pentru potrivirea modelelor complexe folosind expresii regulate.

Concluzie:

În concluzie, ambele Index de() și căutare() metodele sunt utile pentru căutarea unui subșir într-un șir dat. Cu toate acestea, au câteva diferențe cheie care le fac potrivite pentru diferite cazuri de utilizare. Metoda indexOf() este mai rapidă și mai potrivită pentru căutări simple de șiruri, în timp ce metoda search() acceptă expresii regulate și este mai potrivită pentru potrivirea modelelor complexe. Este important să alegeți metoda potrivită în funcție de cerințele specifice ale programului dvs.