Jak porównać dwa ciągi znaków w JavaScript

Jak Porownac Dwa Ciagi Znakow W Javascript



[Są pewne sytuacje, w których programiści muszą porównać dwa ciągi. Większość programistów często popełnia błąd, próbując porównać swoje ciągi w JavaScript za pomocą operatora ==. Operator == ma w tej sytuacji pewne ograniczenia, ponieważ nie można za jego pomocą sprawdzić poprawności typów zmiennych. Być może będziesz musiał poszukać innych metod radzenia sobie z sytuacją.

W tym artykule zademonstrujemy procedurę porównywania ciągów znaków w JavaScript.







Jak porównać dwa ciągi w JavaScript?

Aby porównać dwa ciągi JavaScript, użyj następujących wymienionych metod:



Przyjrzyjmy się działaniu każdej metody osobno.



Metoda 1: Porównaj dwa ciągi za pomocą operatora ścisłej równości

Operator ścisłej równości (===) może służyć do sprawdzania, czy ciągi są równe, czy nie. Jeśli ciągi są różne, jako wynik zwraca false; w przeciwnym razie daje prawdę. Ponieważ jest to metoda rozróżniająca wielkość liter, podczas porównywania ciągów porównuje również wielkość liter, co oznacza, że ​​małe i duże litery są uważane za różne.





Składnia

Użyj poniższej składni do porównywania dwóch ciągów za pomocą operatora ścisłej równości:

str1 === str2 ;

Tutaj ' === Operator porównuje wartość i typ danych str1 i str2.



Przykład

W tym przykładzie porównamy dwa ciągi znaków, jeden pisany dużymi, a drugi małymi literami. Aby to zrobić, najpierw utworzymy dwie zmienne o nazwie „str1” i „str2” który przechowuje ciągi „ LinuxWskazówka ' oraz ' linuxhint ”:

był str1 = „Podpowiedź dotycząca Linuksa” ;
był str2 = 'linux' ;

Następnie zadzwoń do „ konsola.log() ” metoda drukowania wyniku, który mówi, czy ciągi są równe, czy nie, przy użyciu „ === ” operator:

konsola. dziennik ( str1 === str2 ) ;

Dane wyjściowe pokazują „ fałszywy ”, co wskazuje, że ciągi nie są równe, ponieważ operator równości wykonuje porównanie z uwzględnieniem wielkości liter:

Jeśli chcesz wykonać porównanie bez rozróżniania wielkości liter między ciągami, musisz postępować zgodnie z podanymi poniżej metodami.

Metoda 2: Porównaj dwa ciągi za pomocą metody localeCompare()

ustawienia regionalnePorównaj() ” to predefiniowana metoda JavaScript używana do porównywania dwóch ciągów. Wykonuje porównanie ciągów bez rozróżniania wielkości liter i wykorzystuje bieżące ustawienia regionalne do porównania dwóch ciągów.

Składnia

Postępuj zgodnie z poniższą składnią, aby porównać dwa ciągi za pomocą metody localeCompare():

str1. lokalizacjaPorównaj ( str2 ) ;

Tutaj, ' str2 ” to ciąg, który będzie porównywany z „ str1 ”:

Przykład

Użyjemy teraz tych samych ciągów, które zostały już utworzone w poprzednim przykładzie, a następnie porównamy je za pomocą „ ustawienia regionalnePorównaj() ” metoda za pomocą operatora warunkowego:

jeśli ( str1. lokalizacjaPorównaj ( str2 ) ) {
konsola. dziennik ( 'str1 równa się str2' ) ;
} w przeciwnym razie {
konsola. dziennik ( 'str1 nie jest równe str2' ) ;
}

Jak widać, dane wyjściowe wskazują, że łańcuchy są równe, ponieważ metoda porównuje porównanie bez rozróżniania wielkości liter:

Przejdźmy do następnej metody!

Metoda 3: Porównaj dwa ciągi za pomocą RegExp z metodą test()

Istnieje inna metoda porównywania dwóch ciągów, która również wykonuje porównanie bez rozróżniania wielkości liter o nazwie „ RegExp ” za pomocą „ test() ' metoda. Sprawdza równość ciągów na podstawie zdefiniowanego wyrażenia regularnego. Metoda test() przyjmie ciąg znaków jako argument do porównania.

Składnia

Postępuj zgodnie z podaną składnią metody test(), używając RegEx z metodą test():

Wzorzec reg. test ( str2 ) ;

Tutaj, ' str2 ” to ciąg, który będzie porównywany z „ regPatern ”:

Przykład

Teraz utworzymy instancję RegExp, przekazując ciąg „ str1 ” i wyrażenie regularne „ żołnierz amerykański ” wskazuje porównanie bez rozróżniania wielkości liter i przechowuje je w zmiennej „ regPatern ”:

był regPatern = Nowy RegExp ( str1 , 'żołnierz amerykański' ) ;

Następnie nazwiemy „ test() ” metoda przekazując ciąg znaków “ str2 ” jako argument.

był rok = Wzorzec reg. test ( str2 ) ;

Następnie użyj instrukcji warunkowej, aby sprawdzić, czy ciągi są równe, czy nie:

jeśli ( rok ) {
konsola. dziennik ( 'str1 równa się str2' ) ;
} w przeciwnym razie {
konsola. dziennik ( 'str1 nie jest równe str2' ) ;
}

Wyjście

Jeśli chcesz porównać ciąg z innym ciągiem jako podciągiem, musisz postępować zgodnie z poniższą sekcją.

Metoda 4: Porównaj dwa ciągi za pomocą metody include()

Aby określić, czy ciąg jest podciągiem innego ciągu, JavaScript udostępnia predefiniowaną metodę o nazwie „ zawiera () ' metoda. Pobiera ciąg znaków jako argument i podaje wartość logiczną „ PRAWDA ”, jeśli istnieje w ciągu; w przeciwnym razie zwraca” fałszywy ”.

Składnia

Postępuj zgodnie z podaną poniżej metodą korzystania z metody include():

str1. zawiera ( str2 ) ;

Tutaj, ' str2 ” to ciąg, który sprawdza, czy jest zawarty, czy też częścią „ str1 ”:

Przykład

Tutaj najpierw stworzymy dwa ciągi, „str1” i „str2” i sprawdź, czy drugi ciąg jest podciągiem pierwszego, czy nie:

był str1 = „Podpowiedź dotycząca Linuksa” ;
był str2 = 'w' ;

W tym celu zadzwoń Metoda „includes()” poprzez przekazanie „str2” jako argument:

konsola. dziennik ( str1. zawiera ( str2 ) ) ;

Wynik daje „ PRAWDA ”, co wskazuje, że „ str2 ” jest częścią „ str1 ”:

Skompilowaliśmy wszystkie metody do porównywania dwóch ciągów JavaScript.

Wniosek

Do porównania dwóch ciągów JavaScript można użyć metody localeCompare(), operatora ścisłej równości, RegEx z metodą test() lub metody include(). Operator ścisłej równości wykonuje porównanie z uwzględnieniem wielkości liter, podczas gdy metoda test() i metoda localeCompare() wykonują porównanie bez uwzględniania wielkości liter. Na koniec metoda include() sprawdza ciąg jako podciąg w innym ciągu. W tym artykule zademonstrowaliśmy metody porównywania dwóch ciągów znaków w JavaScript z odpowiednimi przykładami.