Cómo ordenar una matriz en JavaScript

En este tutorial, aprenderemos cómo ordenar una matriz en JavaScript usando Array.sort() método.

Índice
  1. Ordenar matriz de cadenas
  2. Ordenar matriz de números

Ordenar matriz de cadenas

Vamos a crear una matriz de cadenas:

const fruits = ['mango', 'cherry', 'berries', 'apple', 'banana', 'kiwi'];

Podemos ordenar los elementos de la matriz en orden alfabético ascendente (az, AZ) ordenar usando sort() método:

fruits.sort();
console.log(fruits);
▶ (6) ["apple", "banana", "berries", "cherry", "kiwi", "mango"]

También podemos ordenar los elementos de la matriz en orden alfabético descendente (za, ZA) ordenar usando reverse() método:

fruits.reverse();
console.log(fruits);
▶ (6) ["mango", "kiwi", "cherry", "berries", "banana", "apple"]

Ordenar matriz de números

el integrado sort() y reverse() Los métodos ordenan alfabéticamente los elementos de la matriz, lo que no es útil cuando se trata de una matriz de números. Afortunadamente, sort() Los métodos toman las funciones de comparación como un argumento que se puede usar para anular su comportamiento de clasificación predeterminado.

Comencemos por crear nuestra función de comparación:

función de comparación
function(a, b) {return a - b}

Cuando el sort() compara dos valores, envía los valores a nuestra función de comparación y ordena los valores según el valor devuelto.

  • Si el resultado es negativo, a se ordena antes que b.
  • Si el resultado es positivo, b se ordena antes que a.
  • Si el resultado es 0, nada cambia.

Ordenemos la matriz de números en ascendente ordenar usando sort() con la función de comparación:

const numbers = [1, 7, 3, 5, 8, 2, 9, 4, 6];

numbers.sort(function(a, b){return a - b});     //ascending
console.log(numbers);
▶ (9) [1, 2, 3, 4, 5, 6, 7, 8, 9]

Debemos invertir la resta de (una B) para (licenciado en Letras) dentro función de comparaciónsi queremos ordenar los números en descendiendo ordenado:

const numbers = [1, 7, 3, 5, 8, 2, 9, 4, 6];

numbers.sort(function(a, b){return b - a});    //descending
console.log(numbers);
▶ (9) [9, 8, 7, 6, 5, 4, 3, 2, 1]

Si quieres conocer otros artículos parecidos a Cómo ordenar una matriz en JavaScript puedes visitar la categoría Tutoriales.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir

Esta página web utiliza cookies para analizar de forma anónima y estadística el uso que haces de la web, mejorar los contenidos y tu experiencia de navegación. Para más información accede a la Política de Cookies . Ver mas