Jak porovnat dva řetězce v JavaScriptu

Jak Porovnat Dva Retezce V Javascriptu



[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.