Optymalny sposób porównywania ciągów w JavaScript

Optymalny sposób porównywania ciągów w JavaScript
JavaScript ma wiele metod, które pomagają użytkownikowi porównać dwa lub więcej ciągów. Ale ze wszystkich innych metod dostępnych w JavaScript, localCompare () Metoda jest najbardziej optymalna do porównywania ciągów. localCompare () Metoda jest stosowana do łańcucha za pomocą a Operator DOT, a drugi ciąg jest przekazywany w jego argumencie.

Składnia metody Localecompary ()

Aby zrozumieć metodę Localecompary (), spójrz na jej składnię:

str1.Localecompary (STR2);
  • STR1: Pierwszy ciąg, który można porównać, który można również nazwać odniesienie strunowy
  • STR2: Drugi ciąg, który można porównać, który można również nazwać porównywać strunowy

Wartość zwracana
Metoda localecompar () zwróci wartość liczbową z następującymi różnymi scenariuszami:

  • Zwroty 0 W przypadku, gdy oba ciągi są całkowicie równe i identyczne
  • Zwroty 1 Jeśli str1 pojawia się przed str2 W równoważności numerycznej
  • Zwroty -1 Jeśli str2 pojawia się przed str1 W równoważności numerycznej

Przykład 1: Metoda Localecompar () do porównania dwóch identycznych ciągów

Najpierw utwórz dwa identyczne struny i przechowuj je w różnych zmiennych, takich jak:

var str1 = "hello";
var str2 = "hello";

Następnie zastosuj metodę Localecompary () str1 i przejść w str2 Jako argument, a następnie zawinąć ten cały stan w funkcji dziennika konsoli, aby wydrukować wynik na terminalu:

konsola.log (str1.Localecompary (STR2));

Po wykonaniu wynik na terminalu wygląda tak:

Jednak powyższe dane wyjściowe nie jest tak naprawdę przyjazne dla użytkownika, dlatego usuń funkcję dziennika konsoli i owinąć localCompare () Oświadczenie wewnątrz Jeśli inaczej Stan jak:

if (str1.localecompary (str2) == 0)
konsola.Log („Oba ciągi są identyczne”);
w przeciwnym razie
konsola.Log („Oba ciągi są różne”);

Ponownie wykonaj program, a następujący wynik pokazuje w terminalu:

Powyższy kodowy fragment w zasadzie tworzy identyczny szachownica, aby to zweryfikować, zmień wartości wewnątrz zmiennych ciągów, takich jak:

var str1 = "hello";
var str2 = „świat”;

Ponowne wykonanie programu zapewni następujący wynik:

Z wyjścia jasno wynika, że ​​ciągi nie są identyczne.

Przykład 2: Różne ciągi dające różne wartości zwracania

Aby sprawdzić różne wartości zwrotne, które mogą wystąpić za pomocą metody Localecompary (), utwórz następujące ciągi:

var str1 = „Rumunia”;
var str2 = „Rumunia”;

Oba ciągi zawierają to samo słowo, ale są w różnej wrażliwości. Stosować localCompare () NA str1 i przejść str2 W swoim argumencie:

konsola.log (str1.Localecompary (STR2));

Wykonanie programu poda następujący wynik na terminalu:

Z wyjścia jasno wynika, że ​​oba ciągi są różne. Ale bardziej interesującą częścią jest to, że str1> str2 W równoważności numerycznej.

Aby zaprezentować ujemną wartość zwracania z localecomapre () metoda, po prostu przełącz ciąg referencyjny i Porównaj ciąg ze sobą w instrukcji LocalCompare () jak:

konsola.Log (STR2.Localecompary (STR1));

Wykonanie programu przyniesie teraz następujący wynik:

Wyjście na terminalu przedstawia to str2> str1 W równoważności numerycznej.

Przykład 3: Wdrażanie nieczudzości przypadków w metodzie Localecompare ()

Metoda localecompar () może pobrać dwa dodatkowe argumenty oprócz ciągłego ciągu. To są lokalizacje (może być używany do zdefiniowania języka lokalnego lub podstawowego) i opcje. Jeśli wybierzesz lokalizację (na przykład „en”), aw trzecim argumencie przechodzisz „Czułość = podstawa”, Następnie w takim przypadku metoda Localecompar () będzie porównywać ciągami niezależnie od ich wrażliwości na przypadki.

Na przykład ponownie weź następujące ciągi:

var str1 = „Rumunia”;
var str2 = „Rumunia”;

Następnie użyj metody Localecompary () z drugim argumentem jako „En” i trzeci argument jako wrażliwość = baza i owinąć całą instrukcję w funkcji dziennika konsoli:

konsola.Log (STR2.localecompary (str1, „en”, wrażliwość: „baza”));

Wynik po wykonaniu będzie:

Jak widać, otrzymaliśmy wyjście jako „0”Oznacza, że ​​oba sznurki są uważane za równe.

Zakończyć

Metoda localecompar () jest uważana za najbardziej optymalną i wydajną metodę porównywania ciągów. LocalCompre () jest stosowany do ciągu za pomocą operatora kropki, a ten ciąg jest znany jako ciąg referencyjny. Drugi ciąg nazywa się ciągiem, który jest przekazywany w argumencie metody Localecompary (). Jeśli oba ciągi są równe i identyczne, wartość liczbowa „0”Jest zwracany; W przeciwnym razie zwracana jest wartość niezerowa.