HOWTO · JavaScript
Función de clasificación personalizada de JavaScript()
Las matrices de JavaScript son una lista de valores que pueden ser de cualquier tipo, como cadenas, valores booleanos, numéricos, etc. En algunos escenarios, debe ordenar las matrices de JavaScript y puede usar el método sort(). Lo importante del método sort() es que le permite pasar una función de comparación personalizada definida por el usuario con sus propias reglas.
En este artículo, analizaremos la operación de ordenación en matrices de JavaScript.
el método sort() en JavaScript
El método sort() se utiliza para ordenar los elementos de un arreglo. De forma predeterminada, este método ordena los elementos en orden ascendente.
Por lo general, este método modifica la matriz original cambiando las posiciones de los elementos. Además, el método sort() convierte los elementos de la matriz de entrada en cadenas y luego realiza una comparación de cadenas para ordenar los elementos.
Si ingresa una matriz de números, esos números se convertirán primero a su valor de cadena y luego se compararán. Vamos a crear una matriz de números y usar el método sort() para ordenarlos.
Ejemplo de código:
let numericArray = [100, 3, 66, 23, 200, 500];
numericArray.sort();
console.log(numericArray);
Producción:
Esto no está ordenado como se esperaba. Tenemos que personalizar el método sort() para arreglar esto.
Nos permite pasar una función de comparación personalizada como argumento. Esta función de comparación acepta dos argumentos y las reglas aplicadas a los argumentos pasados determinarán el orden de clasificación.
Use el método personalizado sort() para ordenar la matriz de números en JavaScript
Para ordenar una matriz de números, debemos implementar una función de comparación como se muestra a continuación.
si los valores devueltos por la función comparar(a, b) son menores que 0, el método ordenar() colocará a antes de b.
En caso contrario, se colocará b antes de a. Siempre que la función compare(a, b) devuelva 0, las posiciones de a y b no cambiarán.
Por lo tanto, la función de comparación personalizada se puede pasar al método sort(), como se muestra a continuación.
Ejemplo de código:
let numericArray = [100, 3, 66, 23, 200, 500];
numericArray.sort(function(a, b) {
if (a > b) return 1;
if (a < b) return -1;
return 0;
});
console.log(numericArray);
Producción:
Como era de esperar, la matriz se ha ordenado correctamente ahora. Esta es una característica muy útil del método sort() de JavaScript que permite a los usuarios decidir el orden.