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.