[Jsou situace, kdy vývojáři potřebují porovnat dva řetězce. Většina programátorů často dělá chybu, když se pokouší porovnat své řetězce v JavaScriptu pomocí operátoru ==. Operátor == má v této situaci určitá omezení, protože pomocí něj nelze ověřit typy proměnných. Takže možná budete muset hledat jiné způsoby, jak situaci vyřešit.
Tento článek demonstruje postup pro porovnávání řetězců v JavaScriptu.
Jak porovnat dva řetězce v JavaScriptu?
Pro porovnání dvou řetězců JavaScriptu použijte následující uvedené metody:
Podívejme se na fungování každé metody zvlášť.
Metoda 1: Porovnání dvou řetězců pomocí operátoru přísné rovnosti
Operátor přísné rovnosti (===) lze použít k ověření, zda jsou řetězce stejné nebo ne. Pokud jsou řetězce různé, vrátí jako výstup hodnotu false; jinak to dává pravdu. Protože se jedná o metodu rozlišující malá a velká písmena, při porovnávání řetězců porovnává i malá a velká písmena, což znamená, že malá a velká písmena jsou považována za odlišná.
Syntax
Pro porovnání dvou řetězců pomocí operátoru přísné rovnosti použijte níže uvedenou syntaxi:
str1 === str2 ;Zde, „ === Operátor ” porovná hodnotu a datový typ str1 a str2.
Příklad
V tomto příkladu porovnáme dva řetězce, jeden je napsán velkými písmeny a druhý malými písmeny. K tomu nejprve vytvoříme dvě proměnné pojmenované 'str1' a 'str2' který ukládá řetězce“ LinuxHint ' a ' linuxhint “:
byl str1 = 'LinuxHint' ;byl str2 = 'linux' ;
Poté zavolejte na „ console.log() ” metoda pro tisk výsledku, která říká, zda jsou řetězce stejné nebo ne, pomocí metody “ === operátor:
řídicí panel. log ( str1 === str2 ) ;Výstup ukazuje „ Nepravdivé ” což znamená, že řetězce nejsou stejné, protože operátor rovnosti provádí porovnání rozlišující malá a velká písmena:
Pokud chcete provést porovnání mezi řetězci bez ohledu na velikost písmen, musíte postupovat podle níže uvedených metod.
Metoda 2: Porovnání dvou řetězců pomocí metody localeCompare().
“ localeCompare() ” je JavaScript předdefinovaná metoda používaná pro porovnávání dvou řetězců. Provádí porovnání řetězců bez ohledu na velikost písmen a využívá aktuální národní prostředí k porovnání dvou řetězců.
Syntax
Při porovnávání dvou řetězců pomocí metody localeCompare() postupujte podle níže uvedené syntaxe:
str1. localeCompare ( str2 ) ;Tady, ' str2 “ je řetězec, který bude porovnán s „ str1 “:
Příklad
Nyní použijeme stejné řetězce, které již byly vytvořeny v předchozím příkladu, a poté je porovnáme pomocí „ localeCompare() ” metoda s pomocí podmíněného operátoru:
-li ( str1. localeCompare ( str2 ) ) {řídicí panel. log ( 'str1 se rovná str2' ) ;
} jiný {
řídicí panel. log ( 'str1 se nerovná str2' ) ;
}
Jak vidíte, výstup ukazuje, že řetězce jsou stejné, protože metoda porovnává srovnání bez ohledu na velikost písmen:
Pojďme k další metodě!
Metoda 3: Porovnání dvou řetězců pomocí RegExp s metodou test().
Existuje další metoda pro porovnávání dvou řetězců, která také provádí srovnání bez ohledu na velikost písmen, nazvanou „ RegExp “ s pomocí „ test() “ metoda. Kontroluje rovnost řetězců na základě definovaného regulárního výrazu. Metoda test() přijme řetězec jako argument pro porovnání.
Syntax
Postupujte podle dané syntaxe pro metodu test() pomocí RegEx s metodou test():
regPattern. test ( str2 ) ;Tady, ' str2 “ je řetězec, který bude porovnán s „ regPattern “:
Příklad
Nyní vytvoříme instanci RegExp předáním řetězce „ str1 “ a regulární výraz “ gi “, který označuje srovnání bez rozlišení velkých a malých písmen a ukládá jej do proměnné “ regPattern “:
byl regPattern = Nový RegExp ( str1 , 'gi' ) ;Poté zavoláme „ test() “ metoda předáním řetězce “ str2 “ jako argument.
byl rok = regPattern. test ( str2 ) ;Poté pomocí podmíněného příkazu ověřte, zda jsou řetězce stejné nebo ne:
-li ( rok ) {řídicí panel. log ( 'str1 se rovná str2' ) ;
} jiný {
řídicí panel. log ( 'str1 se nerovná str2' ) ;
}
Výstup
Pokud chcete porovnat řetězec s jiným řetězcem jako podřetězec, musíte postupovat podle níže uvedené části.
Metoda 4: Porovnání dvou řetězců pomocí metody include().
K určení, zda je řetězec podřetězcem druhého řetězce, poskytuje JavaScript předdefinovanou metodu nazvanou „ zahrnuje() “ metoda. Jako argument bere řetězec a dává booleovskou hodnotu „ skutečný ” pokud v řetězci existuje; jinak se vrátí' Nepravdivé “.
Syntax
Pro použití metody include() postupujte podle níže uvedené metody:
str1. zahrnuje ( str2 ) ;Tady, ' str2 “ je řetězec, který kontroluje, zda je zahrnuta nebo je součástí „ str1 “:
Příklad
Zde nejprve vytvoříme dva řetězce, 'str1' a 'str2' a zkontrolujte, zda je druhý řetězec podřetězcem prvního nebo ne:
byl str1 = 'LinuxHint' ;byl str2 = 'v' ;
Za tímto účelem zavolejte na metoda „includes()“ předáním „str2“ jako argument:
řídicí panel. log ( str1. zahrnuje ( str2 ) ) ;Výstup dává „ skutečný “, což znamená, že „ str2 “ je součástí „ str1 “:
Zkompilovali jsme všechny metody pro porovnání dvou řetězců JavaScriptu.
Závěr
Pro porovnání dvou řetězců JavaScriptu můžete použít metodu localeCompare(), operátor striktní rovnosti, metodu RegEx s test() nebo metodu include(). Operátor přísné rovnosti provádí porovnání rozlišující malá a velká písmena, zatímco metody test() a localeCompare() provádějí srovnání bez ohledu na velikost písmen. Nakonec metoda include() zkontroluje řetězec jako podřetězec v jiném řetězci. V tomto článku jsme demonstrovali metody pro porovnání dvou řetězců v JavaScriptu na správných příkladech.