| chapter | 6 |
|---|---|
| pageNumber | 60 |
| description | El método sort ordena los elementos de una matriz en un orden específico. De forma predeterminada, clasifica los elementos como cadenas y los organiza en orden ascendente según sus valores de unidad de código UTF-16. |
El método sort ordena los elementos de una matriz en un orden específico (ascendente o descendente). De forma predeterminada, el método sort ordena los elementos como cadenas y los organiza en orden ascendente según sus valores de unidad de código UTF-16.
Aquí está la sintaxis para usar sort:
matriz.sort([funcionDeComparacion]);El argumento funcionDeComparacion es opcional y especifica una función que define el orden de clasificación. Si se omite, los elementos se ordenan en orden ascendente según su representación en cadena.
Por ejemplo:
let ciudades = ["California", "Barcelona", "Paris", "Kathmandu"];
let ciudadesOrdenadas = ciudades.sort();
console.log(ciudadesOrdenadas);
// Resultado: ['Barcelona', 'California', 'Kathmandu', 'Paris']{% hint style="info" %} Los números se pueden ordenar incorrectamente cuando se ordenan. Por ejemplo, "35" es mayor que "100", porque "3" es mayor que "1". {% endhint %}
Para solucionar el problema de clasificación en números, se utilizan funciones de comparación. Las funciones de comparación definen el orden de clasificación y devuelven un valor negativo, cero o positivo según argumentos, como este:
- Un valor negativo si
adebe ordenarse antes queb - Un valor positivo si
adebe ordenarse después deb 0siaybson iguales y su orden no importa
const puntos = [40, 100, 1, 5, 25, 10];
puntos.sort((a, b) => {return a-b});
// Resultado: [1, 5, 10, 25, 40, 100]{% hint style="warning" %}
El método sort() anula la matriz original.
{% endhint %}