JavaScript Array toSorted()Método

Array 对象参考手册Objeto JavaScript Array

Ejemplo

Ordena los elementos de un array alfabéticamente:

//Ordenar const sites = ["Google", "Ejemplo", "JYSHARE", "Taobao"]; //Invertir array const sites2 = sites.toSorted(); document.getElementById("demo").innerHTML = sites2;

Resultado:

Google,JYSHARE,Ejemplo,Taobao

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 fruits = ["Banana", "Orange", "Apple", "Mango"];
const fruits2 = fruits.toSorted();
fruits2.reverse();

Encontrar el valor mínimo:

Ejemplo

const points = [40, 100, 1, 5, 25, 10];
let points2 = points.toSorted(function(a, b) { return a - b; });
let lowest = points2[0];

Encontrar el valor máximo:

Ejemplo

const points = [40, 100, 1, 5, 25, 10];
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];

Array 对象参考手册Objeto JavaScript Array

Otras extensiones