Forma óptima de comparar cadenas en JavaScript

Forma óptima de comparar cadenas en JavaScript
JavaScript tiene muchos métodos que ayudan a un usuario a comparar dos o más cadenas. Pero de todos los demás métodos disponibles en JavaScript, el LocalEcompare () El método es el más óptimo para comparar cadenas. El LocalEcompare () El método se aplica a una cadena utilizando un operador de puntos, y la otra cadena se pasa dentro de su argumento.

Sintaxis del método localeCompare ()

Para comprender el método LocalEcompare (), eche un vistazo a su sintaxis:

str1.LocalEcompare (STR2);
  • STR1: La primera cadena que se compara, que también se puede llamar la referencia cadena
  • str2: La segunda cadena que se compara, que también se puede llamar la comparar cadena

Valor de retorno
El método LocalEcompare () devolverá un valor numérico con los siguientes escenarios diferentes:

  • Devoluciones 0 en caso de que ambas cuerdas sean totalmente iguales e idénticas entre sí
  • Devoluciones 1 Si el str1 viene antes del str2 en equivalencia numérica
  • Devoluciones -1 Si el str2 viene antes del str1 en equivalencia numérica

Ejemplo 1: Método LocalEcompare () para comparar dos cadenas idénticas

Primero cree dos cuerdas idénticas y guárdelas en diferentes variables como:

var str1 = "hola";
var str2 = "hola";

Después de eso, aplique el método LocalEcompare () en str1 y pasar en el str2 Como argumento, y luego envuelva todo este estado dentro de una función de registro de consola para imprimir el resultado en el terminal:

consola.log (STR1.localecompare (str2));

Tras la ejecución, el resultado en el terminal se ve así:

Sin embargo, la salida anterior no es realmente tan fácil de usar, por lo tanto, eliminar la función de registro de la consola y envolver la LocalEcompare () declaración dentro de un if-else condición como:

if (str1.LocalEcompare (str2) == 0)
consola.log ("Ambas cadenas son idénticas");
demás
consola.log ("Ambas cadenas son diferentes");

Vuelva a ejecutar el programa y el siguiente resultado se muestra en el terminal:

El fragmento de código anterior básicamente crea un verificador de cuerdas idéntico, para verificar esto, cambie los valores dentro de las variables de cadena como:

var str1 = "hola";
var str2 = "mundo";

Re-ejecutación del programa proporcionará el siguiente resultado:

De la salida está claro que las cadenas no son idénticas entre sí.

Ejemplo 2: Diferentes cuerdas que producen diferentes valores de retorno

Para verificar los diferentes valores de retorno que pueden ocurrir con el método LocalEcompare (), cree las siguientes cadenas:

var str1 = "Rumania";
var str2 = "Rumania";

Ambas cadenas contienen la misma palabra, pero están en diferentes casos-sensibilidad. Aplicar LocalEcompare () en str1 y pasar str2 en su argumento como:

consola.log (STR1.localecompare (str2));

La ejecución del programa dará el siguiente resultado en el terminal:

De la salida, está claro que ambas cuerdas son diferentes. Pero la parte más interesante es que la str1> str2 en equivalencia numérica.

Para mostrar un valor de retorno negativo del localecomapre () Método, simplemente cambie el cadena de referencia y el Comparar cadena entre sí en la declaración LocalEcompare () como:

consola.log (str2.LocalEcompare (str1));

La ejecución del programa ahora producirá el siguiente resultado:

La salida en el terminal muestra que str2> str1 en equivalencia numérica.

Ejemplo 3: Implementación de la insensibilidad de casos en el método localCompare ()

El método localCompare () puede tomar dos argumentos adicionales aparte de la cadena de comparación. Estos son locales (se puede usar para definir el lenguaje local o base) y opción. Si elige un local (por ejemplo, 'en') y en el tercer argumento, pasa "Sensibilidad = base", Luego, en ese caso, el método LocalEcompare () comparará las cadenas independientemente de la sensibilidad de su caso.

Por ejemplo, tome las siguientes cuerdas nuevamente:

var str1 = "Rumania";
var str2 = "Rumania";

Posteriormente, use el método LocalECompare () con el segundo argumento como "Es" y el tercer argumento como sensibilidad = base y envuelva la declaración completa en una función de registro de consola:

consola.log (str2.LocalEcompare (str1, "en", sensibilidad: "base"));

El resultado en la ejecución será:

Como puede ver, obtuvimos la salida como "0"Es decir, que ambas cuerdas se consideran iguales entre sí.

Envolver

El método LocalEcompare () se considera el método de comparación de cadenas más óptimo y eficiente. El localCompare () se aplica a una cadena utilizando un operador DOT, y esa cadena se conoce como la cadena de referencia. La segunda cadena se llama la cadena de comparación, que se pasa dentro del argumento del método localCompare (). Si ambas cuerdas son iguales e idénticas, entonces el valor numérico "0" es regresado; de lo contrario, se devuelve un valor distinto de cero.