logo

Razlika med indexof in iskanjem v JavaScriptu

Uvod:

JavaScript je pogosto uporabljen programski jezik in ponuja več vgrajenih metod za manipulacijo nizov. Dve najpogosteje uporabljeni metodi za iskanje določenega znaka ali podniza v nizu sta indeks() in Iskanje() . Čeprav se ti dve metodi zdita podobni po funkcionalnosti, imata nekaj ključnih razlik. V tem članku bomo raziskali razlike med indexOf() in search() v JavaScriptu.

Metoda indexOf():

The indeks() metoda je vgrajena funkcija JavaScript, ki se uporablja za iskanje indeksa prve pojavitve podniza v danem nizu. Ta metoda vrne indeks prve pojavitve podanega podniza, začenši z začetkom niza. Če podniza ni mogoče najti, se metoda vrne -1 .

Sintaksa:

Sintaksa za uporabo indeks() metoda je naslednja:

 string.indexOf(searchValue[, fromIndex]) 

tukaj, vrvica je niz, ki ga je treba iskati, searchValue je vrednost za iskanje in fromIndex je izbirni parameter, ki določa položaj v nizu, kjer naj se začne iskanje. Če je fromIndex ni zagotovljena, indeks() metoda začne iskanje od začetka niza. če fromIndex je negativno vrednost, se iskanje začne od konca niza.

primer:

matrica iz lateksa

Vzemimo primer, da razumemo indeks() metoda:

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

Izhod:

 16 

Pojasnilo:

Tukaj, metoda indexOf(). išče prvo pojavitev besede 'močan' v nizu 'JavaScript je močan programski jezik' . Od slov 'močan' se prikaže na indeksu 16 , se metoda vrne 16 .

metoda search():

The metoda search(). je tudi vgrajena funkcija JavaScript, ki se uporablja za iskanje indeksa prvega znaka podniza v danem nizu. Ta metoda vrne indeks prve pojavitve podanega podniza, začenši z začetkom niza. Če podniza ni mogoče najti, se metoda vrne -1 .

Sintaksa:

Sintaksa za uporabo metoda search(). kot sledi:

 string.search(regexp) 

tukaj, vrvica je niz, ki ga je treba preiskati, in regexp ali je vsakdanje izražanje vzorec za iskanje. Če je vsakdanje izražanje vzorec je najden, Iskanje() metoda vrne indeks prvega znaka ujemanja. Če vzorec regularnega izraza ni najden, se metoda vrne -1 .

primer:

Vzemimo primer, da razumemo Iskanje() metoda:

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

Izhod:

 16 

Pojasnilo:

Tukaj, Iskanje() metoda išče vsakdanje izražanje vzorec /močan/ v nizu 'JavaScript je močan programski jezik' . Ker se vzorec regularnega izraza ujema z besedo 'močan' , se metoda vrne 16 .

Razlike med indexOf() in search():

Čeprav oboje indeks() in Iskanje() metode se uporabljajo za iskanje podniza v danem nizu, imajo nekaj ključnih razlik. Oglejmo si te razlike vzporedno:

Metoda indexOf(). metoda search().
indeks() metoda išče določen podniz znotraj danega niza. Iskanje() metoda išče vzorec regularnega izraza v danem nizu.
Metoda indexOf() vrne indeks prve pojavitve podanega podniza. Metoda search() vrne indeks prvega znaka ujemanja.
Metoda indexOf() ne podpira regularnih izrazov. Metoda search() podpira regularne izraze.
Metoda indexOf() lahko sprejme izbirni parameter fromIndex za začetek iskanja iz določenega indeksa. Metoda search() ne sprejema izbirnega parametra za začetek iskanja iz določenega indeksa.
Metoda indexOf() je hitrejša od metode search(), ker ne podpira regularnih izrazov. Metoda search() je počasnejša od metode indexOf(), ker podpira regularne izraze.
Metoda indexOf() razlikuje med velikimi in malimi črkami. Metoda search() prav tako privzeto razlikuje med velikimi in malimi črkami, vendar jo je mogoče narediti neobčutljivo z uporabo /i zastava v vzorcu regularnega izraza.
Metoda indexOf() se pogosto uporablja za preprosto iskanje nizov. Metoda search() se pogosto uporablja za kompleksno ujemanje vzorcev z uporabo regularnih izrazov.

Zaključek:

Skratka oboje indeks() in Iskanje() metode so uporabne za iskanje podniza v danem nizu. Vendar pa imajo nekaj ključnih razlik, zaradi katerih so primerni za različne primere uporabe. Metoda indexOf() je hitrejša in primernejša za preprosta iskanja nizov, medtem ko metoda search() podpira regularne izraze in je primernejša za ujemanje kompleksnih vzorcev. Pomembno je, da izberete ustrezno metodo glede na specifične zahteve vašega programa.