JavaScript Array toSorted()Método
Ejemplo
Ordena los elementos de un array alfabéticamente:
Resultado:
Pruébalo »
Definición y uso
El método toSorted() se utiliza para ordenar alfabéticamente los elementos de un array.
El método toSorted() devuelve un nuevo array.
El método toSorted() no modifica el array original.
toSorted() es una versión de copia del método sort().
Función de comparación de ordenación:
- La ordenación de cadenas (como "Apple" antes de "Banana") normalmente funciona en orden alfabético.
- La ordenación numérica puede producir resultados incorrectos, porque la comparación de cadenas considera "25" mayor que "100" (porque "2" es mayor que "1").
- Esto se puede resolver proporcionando una "función de comparación" (ver ejemplos a continuación).
Soporte del navegador
toSorted() es una característica de ES2023.
Desde julio de 2023, todos los navegadores modernos son compatibles con esta función:
| Chrome 110 | Edge 110 | Firefox 115 | Safari 16.4 | Opera 96 |
| Feb 2023 | Feb 2023 | Jul 2023 | Mar 2023 | May 2023 |
Sintaxis
array.toSorted(compareFunction)
Parámetros
| Parámetro | Descripción |
|---|---|
| compareFunction (opcional) | Función que define el orden de clasificación. Esta función debe devolver un valor negativo, cero o positivo según los argumentos, por ejemplo:
function(a, b) { return a - b; }Cuando sort() compara dos valores, los pasa a la función de comparación y los ordena según el valor de retorno (negativo, cero, positivo). |
Valor de retorno
| Tipo | Descripción |
|---|---|
| Array | Devuelve un nuevo array ordenado. |
Más ejemplos
Orden descendente:
Ejemplo
const fruits2 = fruits.toSorted();
fruits2.reverse();
Encontrar el valor mínimo:
Ejemplo
let points2 = points.toSorted(function(a, b) { return a - b; });
let lowest = points2[0];
Encontrar el valor máximo:
Ejemplo
let points2 = points.toSorted(function(a, b) { return b - a; });
let highest = points2[0];
Otra forma de encontrar el valor máximo:
Ejemplo
const points = [40, 100, 1, 5, 25, 10];
let points2 = points.toSorted(function(a, b) { return a - b; });
let highest = points2[points.length - 1];
Otras extensiones
Objeto JavaScript Array