Ordenar cadenas en JavaScript

Shraddha Paghdar 12 octubre 2023
  1. Ordenar cadenas de JavaScript utilizando el método sort()
  2. Ordene las cadenas de JavaScript utilizando el método localeCompare()
Ordenar cadenas en JavaScript

Una cadena de JavaScript contiene cero o más caracteres entre comillas que se utilizan para almacenar y manipular texto.

Cuando se trata de cadenas en JavaScript, existen algunos métodos incorporados útiles para ayudarnos a trabajar con ellas y manipularlas. Este artículo le muestra cómo ordenar un array de cadenas utilizando los métodos integrados de JavaScript.

JavaScript tiene dos métodos, sort y localeCompare, que devuelven un array ordenada de cadenas mutando el array original de cadenas.

Ordenar cadenas de JavaScript utilizando el método sort()

El método sort() es un método integrado proporcionado por JavaScript que ordena los elementos de un array.

Esta clasificación se realiza convirtiendo un elemento en cadenas. Y en base a eso, comparará sus secuencias de valores de unidades de código UTF-16.

El orden estándar es siempre ascendente. Este método muta el array original.

Sintaxis:

sort()
sort((firstEl, secondEl) => {...})
sort(compareFn)
sort(function compareFn(firstEl, secondEl) {
  ...
})

Los parámetros firstEl y secondEl representan dos elementos de un array que deben compararse y ordenarse. compareFn es una función opcional que define la función de clasificación personalizada. El valor de retorno de este método es que devuelve un array ordenada en el lugar, lo que significa que muta el array original y almacena el resultado en el array original.

Para obtener más información, consulte esta documentación para el método sort().

const osItems = ['Linux', 'Ubuntu', 'Windows', 'MacOS', 'Fedora'];
osItems.sort();
console.log(osItems);

Si llamamos a sort(), esto ordenará el array original osItems de acuerdo con las unidades de código UTF-16, y almacenará el resultado de nuevo en el array osItems. Cuando ejecute el código anterior, le dará la siguiente salida.

Producción :

["Fedora", "Linux", "MacOS", "Ubuntu", "Windows"]

Ordene las cadenas de JavaScript utilizando el método localeCompare()

El método localeCompare() es un método integrado proporcionado por JavaScript.

Este método verifica si una cadena de referencia viene antes o después, coincide con la cadena especificada en el orden de clasificación y devuelve el número en función de eso. El resultado real puede diferir si pasa la otra configuración regional.

Sintaxis:

localeCompare(compareString)
localeCompare(compareString, locales)
localeCompare(compareString, locales, options)

compareString es un parámetro obligatorio que es una cadena con la que se compara la cadena de referencia.

locales representan el idioma cuyas convenciones de formato deben usarse, y es un parámetro completamente opcional. Según la comparación, devolverá 1 si la cadena de referencia aparece después de la cadena de comparación, -1 si la cadena de referencia aparece antes de la cadena de comparación, y 0 si ambas cadenas son equivalentes.

Para obtener más información, consulte esta documentación para el método localeCompare().

La única ventaja de utilizar el método localeCompare dentro del método sort es que permite ordenar los caracteres no ASCII, como é y è. El parámetro de opciones y locales del método localeCompare lo hace más preciso.

const osItems = ['Linux', 'Ubuntu', 'Windows', 'MacOS', 'Fedora'];
osItems.sort((a, b) => a.localeCompare(b, 'en'));
console.log(osItems);

Si llamamos a a.localeCompare(b, 'en'), esto comparará la a (cadena de referencia) del array original, en este caso osItems, con b (cadena de comparación) usando la configuración regional en inglés. La parte interesante aquí es que solo devuelve -1, 1 y 0, y luego el método sort clasificará estas cadenas.

Cuando ejecute el bloque de código anterior, le dará la siguiente salida.

Producción :

["Fedora", "Linux", "MacOS", "Ubuntu", "Windows"]
Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn

Artículo relacionado - JavaScript String