logo

Az indexof és a JavaScript-keresés közötti különbség

Bevezetés:

A JavaScript egy széles körben használt programozási nyelv, amely számos beépített módszert biztosít a karakterláncok kezelésére. A két leggyakrabban használt módszer egy karakterlánc vagy részkarakterlánc keresésére a következő indexe() és keresés() . Bár ez a két módszer hasonlónak tűnhet a funkcionalitásban, van néhány lényeges különbség. Ebben a cikkben megvizsgáljuk az indexOf() és a search() közötti különbségeket a JavaScriptben.

indexOf() módszer:

A indexe() A metódus egy beépített JavaScript-függvény, amely egy adott karakterláncon belüli részkarakterlánc első előfordulásának indexének megkeresésére szolgál. Ez a metódus a megadott részkarakterlánc első előfordulásának indexét adja vissza, a karakterlánc elejétől kezdve. Ha az alkarakterlánc nem található, a metódus visszatér -1 .

Szintaxis:

A szintaxis a használatához indexe() a módszer a következő:

 string.indexOf(searchValue[, fromIndex]) 

Itt, húr a keresendő karakterlánc, searchValue a keresendő érték, és fromIndex az opcionális paraméter, amely megadja a karakterlánc azon pozícióját, ahol a keresésnek el kell kezdődnie. Ha a fromIndex nem biztosított, a indexe() metódus a keresést a karakterlánc elejétől kezdi. Ha fromIndex egy negatív értékét, a keresés a karakterlánc végétől kezdődik.

Példa:

– mondta Madhuri

Vegyünk egy példát, hogy megértsük a indexe() módszer:

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

Kimenet:

 16 

Magyarázat:

Itt, a indexOf() metódus a szó első előfordulását keresi 'erős' a húrban 'A JavaScript egy erőteljes programozási nyelv' . A szó óta 'erős' indexnél jelenik meg 16 , a metódus visszatér 16 .

keresés() módszer:

A kereső() metódus egy beépített JavaScript-függvény is, amely egy adott karakterláncon belüli részstring első karakterének indexének megkeresésére szolgál. Ez a metódus a megadott részkarakterlánc első előfordulásának indexét adja vissza, a karakterlánc elejétől kezdve. Ha az alkarakterlánc nem található, a metódus visszatér -1 .

Szintaxis:

A szintaxis a használatához kereső() metódus az alábbiak:

 string.search(regexp) 

Itt, húr a keresendő karakterlánc, és regexp az a reguláris kifejezés mintát keresni. Ha a reguláris kifejezés mintát találunk, a keresés() metódus az egyezés első karakterének indexét adja vissza. Ha a reguláris kifejezés mintája nem található, a metódus visszatér -1 .

Példa:

Vegyünk egy példát, hogy megértsük a keresés() módszer:

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

Kimenet:

 16 

Magyarázat:

Itt, a keresés() módszer keresi a reguláris kifejezés minta /erős/ a húrban 'A JavaScript egy erőteljes programozási nyelv' . Mivel a reguláris kifejezés mintája megegyezik a szóval 'erős' , a metódus visszatér 16 .

Az indexOf() és a search() közötti különbségek:

Bár mindkettő indexe() és keresés() metódusokat használnak egy adott karakterláncon belüli részkarakterlánc keresésére, van néhány lényeges különbség. Nézzük meg ezeket a különbségeket egymás mellett:

indexOf() módszer search() módszer
indexe() metódus egy megadott részkarakterláncot keres egy adott karakterláncon belül. keresés() metódus reguláris kifejezésmintát keres egy adott karakterláncon belül.
Az indexOf() metódus a megadott részkarakterlánc első előfordulásának indexét adja vissza. A search() metódus az egyezés első karakterének indexét adja vissza.
Az indexOf() metódus nem támogatja a reguláris kifejezéseket. A search() metódus támogatja a reguláris kifejezéseket.
Az indexOf() metódus elfogadhat egy opcionális paramétert az Indexből a keresés elindításához egy adott indexből. A search() metódus nem fogad el opcionális paramétert a keresés egy adott indexből történő indításához.
Az indexOf() metódus gyorsabb, mint a search() metódus, mert nem támogatja a reguláris kifejezéseket. A search() metódus lassabb, mint az indexOf() metódus, mert támogatja a reguláris kifejezéseket.
Az indexOf() metódus megkülönbözteti a kis- és nagybetűket. A search() metódus is alapértelmezés szerint megkülönbözteti a kis- és nagybetűket, de a kis- és nagybetűk megkülönböztetésével a /i zászló a reguláris kifejezés mintában.
Az indexOf() metódust széles körben használják egyszerű karakterlánc-kereséseknél. A search() metódust széles körben használják a reguláris kifejezéseket használó összetett mintaillesztésre.

Következtetés:

Befejezésül mindkettő indexe() és keresés() A metódusok hasznosak egy adott karakterláncon belüli részkarakterlánc kereséséhez. Van azonban néhány lényeges különbségük, amelyek alkalmassá teszik őket különböző felhasználási esetekre. Az indexOf() metódus gyorsabb és alkalmasabb egyszerű karakterlánc-keresésekre, míg a search() metódus támogatja a reguláris kifejezéseket, és alkalmasabb összetett mintaillesztésre. Fontos, hogy a program speciális követelményei alapján válassza ki a megfelelő módszert.