Úvod:
JavaScript je široko používaný programovací jazyk a poskytuje niekoľko vstavaných metód na manipuláciu s reťazcami. Dve z najčastejšie používaných metód na vyhľadávanie určitého znaku alebo podreťazca v reťazci sú indexOf() a Vyhľadávanie() . Aj keď sa tieto dve metódy môžu javiť ako podobné, majú niekoľko kľúčových rozdielov. V tomto článku preskúmame rozdiely medzi indexOf() a search() v JavaScripte.
metóda indexOf():
The indexOf() metóda je vstavaná funkcia JavaScript, ktorá sa používa na nájdenie indexu prvého výskytu podreťazca v rámci daného reťazca. Táto metóda vráti index prvého výskytu zadaného podreťazca, počnúc od začiatku reťazca. Ak sa podreťazec nenájde, metóda sa vráti -1 .
Syntax:
Syntax pre použitie indexOf() metóda je nasledovná:
string.indexOf(searchValue[, fromIndex])
Tu, reťazec je reťazec, ktorý sa má hľadať, searchValue je hodnota, ktorú treba hľadať, a z Indexu je voliteľný parameter, ktorý určuje pozíciu v reťazci, kde má vyhľadávanie začať. Ak z Indexu sa neposkytuje, indexOf() metóda spustí vyhľadávanie od začiatku reťazca. Ak z Indexu je a negatívne hodnotu, vyhľadávanie začne od konca reťazca.
Príklad:
binárny strom zásielkový prechod
Zoberme si príklad na pochopenie indexof() metóda:
let str = 'JavaScript is a powerful programming language'; let index = str.indexOf('powerful'); console.log(index);
Výkon:
16
Vysvetlenie:
Tu, metóda indexOf(). hľadá prvý výskyt slova 'silný' v reťazci „JavaScript je výkonný programovací jazyk“ . Od slova 'silný' sa objaví v indexe 16 , metóda vráti 16 .
metóda vyhľadávania():
The metóda search(). je tiež vstavaná funkcia JavaScript, ktorá sa používa na nájdenie indexu prvého znaku podreťazca v rámci daného reťazca. Táto metóda vráti index prvého výskytu zadaného podreťazca, začínajúc od začiatku reťazca. Ak sa podreťazec nenájde, metóda sa vráti -1 .
Syntax:
Syntax pre použitie metóda search(). je nasledujúca:
string.search(regexp)
Tu, reťazec je reťazec, ktorý sa má hľadať, a regulárny výraz je regulárny výraz vzor na vyhľadávanie. Ak regulárny výraz vzor sa nájde, Vyhľadávanie() metóda vráti index prvého znaku zhody. Ak sa vzor regulárneho výrazu nenájde, metóda sa vráti -1 .
Príklad:
Zoberme si príklad na pochopenie Vyhľadávanie() metóda:
let str = 'JavaScript is a powerful programming language'; let index = str.search(/powerful/); console.log(index);
Výkon:
16
Vysvetlenie:
Tu, Vyhľadávanie() metóda hľadá regulárny výraz vzor /silný/ v reťazci „JavaScript je výkonný programovací jazyk“ . Pretože vzor regulárneho výrazu sa zhoduje so slovom 'silný' , metóda vráti 16 .
Rozdiely medzi indexOf() a search():
Hoci oboje indexOf() a Vyhľadávanie() metódy sa používajú na vyhľadávanie podreťazca v rámci daného reťazca, majú niekoľko kľúčových rozdielov. Pozrime sa na tieto rozdiely vedľa seba:
metóda indexOf(). | metóda vyhľadávania(). |
---|---|
indexOf() metóda hľadá zadaný podreťazec v rámci daného reťazca. | Vyhľadávanie() metóda hľadá vzor regulárneho výrazu v rámci daného reťazca. |
Metóda indexOf() vracia index prvého výskytu zadaného podreťazca. | Metóda search() vracia index prvého znaku zhody. |
Metóda indexOf() nepodporuje regulárne výrazy. | Metóda search() podporuje regulárne výrazy. |
Metóda indexOf() môže akceptovať voliteľný parameter fromIndex na spustenie vyhľadávania zo špecifického indexu. | Metóda search() neakceptuje voliteľný parameter na spustenie vyhľadávania zo špecifického indexu. |
Metóda indexOf() je rýchlejšia ako metóda search(), pretože nepodporuje regulárne výrazy. | Metóda search() je pomalšia ako metóda indexOf(), pretože podporuje regulárne výrazy. |
Metóda indexOf() rozlišuje veľké a malé písmená. | Metóda search() v predvolenom nastavení tiež rozlišuje malé a veľké písmená, ale pomocou príkazu /i príznak vo vzore regulárneho výrazu. |
Metóda indexOf() je široko používaná na jednoduché vyhľadávanie reťazcov. | Metóda search() sa široko používa na porovnávanie komplexných vzorov pomocou regulárnych výrazov. |
Záver:
Na záver oboje indexOf() a Vyhľadávanie() metódy sú užitočné na vyhľadávanie podreťazca v rámci daného reťazca. Majú však niekoľko kľúčových rozdielov, vďaka ktorým sú vhodné pre rôzne prípady použitia. Metóda indexOf() je rýchlejšia a vhodnejšia na jednoduché vyhľadávanie reťazcov, zatiaľ čo metóda search() podporuje regulárne výrazy a je vhodnejšia na porovnávanie komplexných vzorov. Je dôležité zvoliť si vhodnú metódu na základe špecifických požiadaviek vášho programu.