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