logo

Atšķirība starp indexof un meklēšanu JavaScript

Ievads:

JavaScript ir plaši izmantota programmēšanas valoda, un tā nodrošina vairākas iebūvētas metodes, lai manipulētu ar virknēm. Divas no visbiežāk izmantotajām metodēm noteiktas rakstzīmes vai apakšvirknes meklēšanai virknē ir indexOf() un Meklēt() . Lai gan šīs divas metodes var šķist līdzīgas funkcionalitātē, tām ir dažas būtiskas atšķirības. Šajā rakstā mēs izpētīsim atšķirības starp indexOf() un search() JavaScript.

indexOf() metode:

The indexOf() metode ir iebūvēta JavaScript funkcija, kas tiek izmantota, lai atrastu pirmās apakšvirknes sastopamības indeksu noteiktā virknē. Šī metode atgriež norādītās apakšvirknes pirmās parādīšanās indeksu, sākot no virknes sākuma. Ja apakšvirkne netiek atrasta, metode atgriežas -1 .

Sintakse:

Sintakse izmantošanai indexOf() metode ir šāda:

 string.indexOf(searchValue[, fromIndex]) 

Šeit, virkne ir virkne, kas jāmeklē, searchValue ir vērtība, kas jāmeklē, un noIndex ir izvēles parametrs, kas norāda pozīciju virknē, kur jāsāk meklēšana. Ja noIndex nav nodrošināts, indexOf() metode sāk meklēšanu no virknes sākuma. Ja noIndex ir negatīvs vērtību, meklēšana sākas no virknes beigām.

Piemērs:

java kartes piemērs

Ņemsim piemēru, lai saprastu indexof() metode:

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

Izvade:

 16 

Paskaidrojums:

Lūk, indexOf() metode meklē vārda pirmo reizi 'spēcīgs' virknē 'JavaScript ir spēcīga programmēšanas valoda' . Kopš vārda 'spēcīgs' parādās indeksā 16 , metode atgriežas 16 .

meklēt() metode:

The meklēšanas () metode ir arī iebūvēta JavaScript funkcija, ko izmanto, lai atrastu apakšvirknes pirmās rakstzīmes indeksu noteiktā virknē. Šī metode atgriež norādītās apakšvirknes pirmās parādīšanās indeksu, sākot no virknes sākuma. Ja apakšvirkne netiek atrasta, metode atgriežas -1 .

Sintakse:

Sintakse izmantošanai meklēšanas () metode ir šāds:

 string.search(regexp) 

Šeit, virkne ir virkne, kas jāmeklē, un regexp ir regulāra izteiksme modelis, ko meklēt. Ja regulāra izteiksme modelis ir atrasts, Meklēt() metode atgriež atbilstības pirmās rakstzīmes indeksu. Ja regulārās izteiksmes modelis netiek atrasts, metode atgriežas -1 .

Piemērs:

Ņemsim piemēru, lai saprastu Meklēt() metode:

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

Izvade:

 16 

Paskaidrojums:

Lūk, Meklēt() metode meklē regulāra izteiksme modelis /spēcīgs/ virknē 'JavaScript ir spēcīga programmēšanas valoda' . Tā kā regulārās izteiksmes modelis atbilst vārdam 'spēcīgs' , metode atgriežas 16 .

Atšķirības starp indexOf() un search():

Lai gan abi indexOf() un Meklēt() metodes tiek izmantotas, lai meklētu apakšvirkni noteiktā virknē, tām ir dažas galvenās atšķirības. Apskatīsim šīs atšķirības blakus:

indexOf() metode Search() metode
indexOf() metode meklē noteiktu apakšvirkni dotajā virknē. Meklēt() metode meklē regulāras izteiksmes modeli noteiktā virknē.
Metode indexOf() atgriež norādītās apakšvirknes pirmās parādības indeksu. Metode search() atgriež atbilstības pirmās rakstzīmes indeksu.
Metode indexOf() neatbalsta regulārās izteiksmes. Meklēšanas () metode atbalsta regulārās izteiksmes.
Metode indexOf() var pieņemt neobligātu parametru fromIndex, lai sāktu meklēšanu no noteikta indeksa. Metode search() nepieņem neobligātu parametru, lai sāktu meklēšanu no noteikta indeksa.
Metode indexOf() ir ātrāka nekā meklēšana() metode, jo tā neatbalsta regulārās izteiksmes. Metode search() ir lēnāka nekā metode indexOf(), jo tā atbalsta regulārās izteiksmes.
IndexOf() metode ir reģistrjutīga. Metode search() arī pēc noklusējuma ir reģistrjutīga, taču to var padarīt nejutīgu, izmantojot /i karogs regulārās izteiksmes shēmā.
IndexOf() metode tiek plaši izmantota vienkāršai virkņu meklēšanai. Metode search() tiek plaši izmantota sarežģītai modeļu saskaņošanai, izmantojot regulāras izteiksmes.

Secinājums:

Nobeigumā gan indexOf() un Meklēt() metodes ir noderīgas, lai meklētu apakšvirkni noteiktā virknē. Tomēr tiem ir dažas galvenās atšķirības, kas padara tos piemērotus dažādiem lietošanas gadījumiem. Metode indexOf() ir ātrāka un piemērotāka vienkāršai virkņu meklēšanai, savukārt metode search() atbalsta regulāras izteiksmes un ir piemērotāka sarežģītai rakstu saskaņošanai. Ir svarīgi izvēlēties piemērotu metodi, pamatojoties uz jūsu programmas īpašajām prasībām.