Úvod:
JavaScript je široce používaný programovací jazyk a poskytuje několik vestavěných metod pro manipulaci s řetězci. Dvě z nejčastěji používaných metod pro hledání určitého znaku nebo podřetězce v řetězci jsou indexOf() a Vyhledávání() . Ačkoli se tyto dvě metody mohou jevit jako podobné funkcemi, mají několik klíčových rozdílů. V tomto článku prozkoumáme rozdíly mezi indexOf() a search() v JavaScriptu.
Metoda indexOf():
The indexOf() metoda je vestavěná funkce JavaScriptu, která se používá k nalezení indexu prvního výskytu podřetězce v daném řetězci. Tato metoda vrací index prvního výskytu zadaného podřetězce, počínaje od začátku řetězce. Pokud podřetězec není nalezen, metoda se vrátí -1 .
Syntax:
Syntaxe pro použití indexOf() metoda je následující:
string.indexOf(searchValue[, fromIndex])
Tady, tětiva je řetězec, který se má hledat, searchValue je hodnota, kterou je třeba hledat, a z Indexu je volitelný parametr, který určuje pozici v řetězci, kde má vyhledávání začít. Pokud z Indexu není poskytována, indexOf() metoda spustí vyhledávání od začátku řetězce. Li z Indexu je negativní hodnotu, vyhledávání začíná od konce řetězce.
Příklad:
rr algoritmus
Vezměme si příklad pro pochopení indexof() metoda:
let str = 'JavaScript is a powerful programming language'; let index = str.indexOf('powerful'); console.log(index);
Výstup:
16
Vysvětlení:
Tady, metoda indexOf(). hledá první výskyt slova 'silný' v řetězci „JavaScript je výkonný programovací jazyk“ . Od slova 'silný' se objeví v indexu 16 , metoda vrátí 16 .
metoda vyhledávání():
The metoda search(). je také vestavěná funkce JavaScriptu, která se používá k nalezení indexu prvního znaku podřetězce v daném řetězci. Tato metoda vrací index prvního výskytu zadaného podřetězce, počínaje od začátku řetězce. Pokud podřetězec není nalezen, metoda se vrátí -1 .
Syntax:
Syntaxe pro použití metoda search(). je následující:
string.search(regexp)
Tady, tětiva je řetězec, který má být prohledán, a regulární výraz je regulární výraz vzor k hledání. Pokud regulární výraz vzor je nalezen, Vyhledávání() metoda vrací index prvního znaku shody. Pokud není vzor regulárního výrazu nalezen, metoda se vrátí -1 .
Příklad:
Vezměme si příklad pro pochopení Vyhledávání() metoda:
let str = 'JavaScript is a powerful programming language'; let index = str.search(/powerful/); console.log(index);
Výstup:
16
Vysvětlení:
Tady, Vyhledávání() metoda hledá regulární výraz vzor /silný/ v řetězci „JavaScript je výkonný programovací jazyk“ . Protože vzor regulárního výrazu odpovídá slovu 'silný' , metoda vrátí 16 .
Rozdíly mezi indexOf() a search():
I když obojí indexOf() a Vyhledávání() metody se používají k hledání podřetězce v daném řetězci, mají několik klíčových rozdílů. Pojďme se na tyto rozdíly podívat vedle sebe:
Metoda indexOf(). | metoda search(). |
---|---|
indexOf() metoda hledá zadaný podřetězec v daném řetězci. | Vyhledávání() metoda hledá vzor regulárního výrazu v daném řetězci. |
Metoda indexOf() vrací index prvního výskytu zadaného podřetězce. | Metoda search() vrací index prvního znaku shody. |
Metoda indexOf() nepodporuje regulární výrazy. | Metoda search() podporuje regulární výrazy. |
Metoda indexOf() může přijmout volitelný parametr fromIndex pro zahájení vyhledávání ze specifického indexu. | Metoda search() nepřijímá volitelný parametr pro zahájení vyhledávání ze specifického indexu. |
Metoda indexOf() je rychlejší než metoda search(), protože nepodporuje regulární výrazy. | Metoda search() je pomalejší než metoda indexOf(), protože podporuje regulární výrazy. |
Metoda indexOf() rozlišuje velká a malá písmena. | Metoda search() ve výchozím nastavení také rozlišuje malá a velká písmena, ale pomocí příkazu ji lze rozlišit malá a velká písmena příznak /i ve vzoru regulárních výrazů. |
Metoda indexOf() je široce používána pro jednoduché vyhledávání řetězců. | Metoda search() je široce používána pro komplexní porovnávání vzorů pomocí regulárních výrazů. |
Závěr:
Závěrem obojí indexOf() a Vyhledávání() metody jsou užitečné pro hledání podřetězce v daném řetězci. Mají však několik klíčových rozdílů, díky kterým jsou vhodné pro různé případy použití. Metoda indexOf() je rychlejší a vhodnější pro jednoduché vyhledávání řetězců, zatímco metoda search() podporuje regulární výrazy a je vhodnější pro komplexní vyhledávání vzorů. Je důležité zvolit vhodnou metodu na základě konkrétních požadavků vašeho programu.