Uvod:
JavaScript je naširoko korišten programski jezik i nudi nekoliko ugrađenih metoda za manipuliranje nizovima. Dvije najčešće korištene metode za pretraživanje niza za određeni znak ili podniz su indexOf() i traži() . Iako se ove dvije metode mogu činiti sličnim u funkcionalnosti, imaju nekoliko ključnih razlika. U ovom ćemo članku istražiti razlike između indexOf() i search() u JavaScriptu.
Metoda indexOf():
The indexOf() metoda je ugrađena JavaScript funkcija koja se koristi za pronalaženje indeksa prvog pojavljivanja podniza unutar zadanog niza. Ova metoda vraća indeks prvog pojavljivanja navedenog podniza, počevši od početka niza. Ako podniz nije pronađen, metoda se vraća -1 .
Sintaksa:
Sintaksa za korištenje indexOf() metoda je sljedeća:
string.indexOf(searchValue[, fromIndex])
Ovdje, niz je niz koji se traži, searchValue je vrijednost koju treba tražiti i fromIndex je izborni parametar koji specificira poziciju u nizu gdje bi pretraga trebala započeti. Ako je fromIndex nije predviđeno, indexOf() metoda započinje pretragu od početka niza. Ako fromIndex je negativan vrijednost, pretraživanje počinje od kraja niza.
Primjer:
nbsp
Uzmimo primjer da bismo razumjeli indexof() metoda:
let str = 'JavaScript is a powerful programming language'; let index = str.indexOf('powerful'); console.log(index);
Izlaz:
16
Obrazloženje:
Evo, metoda indexOf(). traži prvo pojavljivanje riječi 'snažan' u nizu 'JavaScript je moćan programski jezik' . Od riječi 'snažan' pojavljuje se na indeksu 16 , metoda se vraća 16 .
search() metoda:
The search() metoda također je ugrađena JavaScript funkcija koja se koristi za pronalaženje indeksa prvog znaka podniza unutar zadanog niza. Ova metoda vraća indeks prvog pojavljivanja navedenog podniza, počevši od početka niza. Ako podniz nije pronađen, metoda se vraća -1 .
Sintaksa:
Sintaksa za korištenje search() metoda je kako slijedi:
string.search(regexp)
Ovdje, niz je niz koji se traži, i regexp je regularni izraz obrazac za traženje. Ako je regularni izraz uzorak je pronađen, traži() metoda vraća indeks prvog znaka podudaranja. Ako uzorak regularnog izraza nije pronađen, metoda se vraća -1 .
Primjer:
Uzmimo primjer da bismo razumjeli traži() metoda:
let str = 'JavaScript is a powerful programming language'; let index = str.search(/powerful/); console.log(index);
Izlaz:
16
Obrazloženje:
Evo, traži() metoda traži regularni izraz uzorak /snažan/ u nizu 'JavaScript je moćan programski jezik' . Budući da uzorak regularnog izraza odgovara riječi 'snažan' , metoda se vraća 16 .
Razlike između indexOf() i search():
Iako oboje indexOf() i traži() Metode se koriste za traženje podniza unutar zadanog niza, imaju nekoliko ključnih razlika. Pogledajmo ove razlike jednu pored druge:
Metoda indexOf(). | search() metoda |
---|---|
indexOf() metoda traži određeni podniz unutar zadanog niza. | traži() metoda traži uzorak regularnog izraza unutar zadanog niza. |
Metoda indexOf() vraća indeks prvog pojavljivanja navedenog podniza. | Metoda search() vraća indeks prvog znaka podudaranja. |
Metoda indexOf() ne podržava regularne izraze. | Metoda search() podržava regularne izraze. |
Metoda indexOf() može prihvatiti izborni parametar fromIndex za početak pretraživanja iz određenog indeksa. | Metoda search() ne prihvaća izborni parametar za početak pretraživanja iz određenog indeksa. |
Metoda indexOf() brža je od metode search() jer ne podržava regularne izraze. | Metoda search() je sporija od metode indexOf() jer podržava regularne izraze. |
Metoda indexOf() razlikuje velika i mala slova. | Metoda search() također je prema zadanim postavkama osjetljiva na velika i mala slova, ali se može učiniti neosjetljivom na velika i mala slova korištenjem /i zastava u regularnom obrascu izraza. |
Metoda indexOf() naširoko se koristi za jednostavna pretraživanja nizova. | Metoda search() naširoko se koristi za složeno podudaranje uzoraka pomoću regularnih izraza. |
Zaključak:
Zaključno, oboje indexOf() i traži() metode su korisne za traženje podniza unutar zadanog niza. Međutim, oni imaju nekoliko ključnih razlika koje ih čine prikladnima za različite slučajeve upotrebe. Metoda indexOf() brža je i prikladnija za jednostavno pretraživanje nizova, dok metoda search() podržava regularne izraze i prikladnija je za složeno podudaranje uzoraka. Važno je odabrati odgovarajuću metodu na temelju specifičnih zahtjeva vašeg programa.