Optimale Möglichkeit, Zeichenfolgen in JavaScript zu vergleichen

Optimale Möglichkeit, Zeichenfolgen in JavaScript zu vergleichen
JavaScript hat viele Methoden, die einem Benutzer helfen, zwei oder mehr Zeichenfolgen zu vergleichen. Aber von allen anderen in JavaScript verfügbaren Methoden, die localecompare () Die Methode ist am optimalsten für den Vergleich von Zeichenfolgen. Der localecompare () Die Methode wird auf eine Zeichenfolge mit a angewendet Punktbetreiber, und die andere Saite wird in sein Argument übergeben.

Syntax der LocaleCompare () -Methode

Um die LocalCompare () -Methode zu verstehen, schauen Sie sich die Syntax an:

STR1.localecompare (str2);
  • STR1: Die erste String, die verglichen wird, die auch als die genannt werden kann Referenz Saite
  • STR2: Die zweite String, die verglichen werden soll, was auch als die genannt werden kann vergleichen Saite

Rückgabewert
Die LOCALECOMPARE () -Methode gibt einen numerischen Wert mit den folgenden Szenarien zurück:

  • Kehrt zurück 0 Falls beide Saiten völlig gleich und identisch miteinander sind
  • Kehrt zurück 1 Wenn der STR1 kommt vor dem STR2 in numerischer Äquivalenz
  • Kehrt zurück -1 Wenn der STR2 kommt vor dem STR1 in numerischer Äquivalenz

Beispiel 1: LOCORECOMPARE () -Methode zum Vergleich von zwei identischen Zeichenfolgen

Erstellen Sie zunächst zwei identische Zeichenfolgen und speichern Sie sie in verschiedenen Variablen wie:

var str1 = "Hallo";
var str2 = "Hallo";

Wenden Sie anschließend die LocalCompare () -Methode auf STR1 und passieren in die STR2 als Argument und wickeln Sie diesen gesamten Zustand in eine Konsolenprotokollfunktion ein, um das Ergebnis auf das Terminal zu drucken:

Konsole.log (str1.localecompare (str2));

Bei der Ausführung sieht das Ergebnis am Terminal so aus:

Die obige Ausgabe ist jedoch nicht wirklich so benutzerfreundlich. Entfernen Sie daher die Konsolenprotokollfunktion und wickeln Sie die localecompare () Aussage innerhalb eines ansonsten Zustand wie:

if (str1.localecompare (str2) == 0)
Konsole.log ("Beide Saiten sind identisch");
anders
Konsole.log ("Beide Saiten sind unterschiedlich");

Führen Sie das Programm erneut aus, und das folgende Ergebnis zeigt im Terminal:

Der ober-Code-Snippet erstellt im Grunde genommen einen identischen String-Checker, um dies zu überprüfen, um die Werte in den Zeichenfolgenvariablen wie folgt zu ändern:

var str1 = "Hallo";
var str2 = "Welt";

Das Wiederaufnehmen des Programms liefert das folgende Ergebnis:

Aus der Ausgabe geht hervor, dass die Zeichenfolgen nicht miteinander identisch sind.

Beispiel 2: Unterschiedliche Zeichenfolgen, die unterschiedliche Rückgaberichte ergeben

Erstellen Sie die folgenden Zeichenfolgen, um die verschiedenen Rückgabewerte zu überprüfen, die mit der LOCALECOMPARE () -Methode auftreten können:

var str1 = "Rumänien";
var str2 = "Rumänien";

Beide Saiten enthalten das gleiche Wort, sind jedoch in verschiedenen Fallsensitivität. Anwenden localecompare () An STR1 und passieren STR2 in seinem Argument wie:

Konsole.log (str1.localecompare (str2));

Das Ausführen des Programms gibt das folgende Ergebnis auf dem Terminal:

Aus der Ausgabe ist klar, dass beide Saiten unterschiedlich sind. Aber der interessantere Teil ist, dass das der STR1> STR2 in numerischer Äquivalenz.

Um einen negativen Rückgabewert aus dem zu präsentieren localecomapre () Methode, schalten Sie einfach die Referenzzeichenfolge und das Vergleiche Zeichenfolge miteinander in der localecompare () -serklärung wie:

Konsole.log (str2.localecompare (str1));

Die Ausführung des Programms liefert nun das folgende Ergebnis:

Die Ausgabe am Terminal zeigt das STR2> STR1 in numerischer Äquivalenz.

Beispiel 3: Implementierung der Fall-Unempfindlichkeit in der LOCALECOMPARE () -Methode

Die LocaleCompare () -Methode kann neben der Vergleichszeichenfolge zwei zusätzliche Argumente aufnehmen. Diese sind Orte (kann verwendet werden, um die lokale oder die Grundsprache zu definieren) und Optionen. Wenn Sie ein Gebietsschema (z. B. 'en') und im dritten Argument wählen, geben Sie ein "Empfindlichkeit = Basis", In diesem Fall wird die LocaleCompare () -Methode die Zeichenfolgen unabhängig von ihrer Fallempfindlichkeit vergleichen.

Nehmen Sie zum Beispiel erneut die folgenden Saiten:

var str1 = "Rumänien";
var str2 = "Rumänien";

Verwenden Sie anschließend die LocalCompare () -Methode mit dem zweiten Argument als "En" und das dritte Argument als Sensitivität = Basis und wickeln Sie die gesamte Anweisung in eine Konsolenprotokollfunktion ein:

Konsole.log (str2.localecompare (str1, "en", Sensitivität: "Basis"));

Das Ergebnis nach Ausführung wird:

Wie Sie sehen können, haben wir die Ausgabe als "als"0Bedeutet, dass beide Saiten als gleichzeitig angesehen werden.

Einpacken

Die LOCALECOMPARE () -Methode wird als die optimalste und effizienteste String -Vergleichsmethode angesehen. Die lokale Compare () wird unter Verwendung eines Punktoperators auf eine Zeichenfolge angewendet, und diese Zeichenfolge wird als Referenzzeichenfolge bezeichnet. Die zweite Zeichenfolge wird als Vergleichszeichenfolge bezeichnet, die innerhalb des Arguments der LocalCompare () -Methode übergeben wird. Wenn beide Zeichenfolgen gleich und identisch sind, dann der numerische Wert “0" ist zurück gekommen; Andernfalls wird ein Wert ungleich Null zurückgegeben.