Esta página ha sido traducida del inglés por la comunidad.Aprende más y únete a la comunidad de MDN Web Docs.
Array.prototype.toSorted()
Baseline 2023Newly available
Since July 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.
El métodotoSorted() devuelve un nuevo array con sus elementos ordenados en orden ascendente sin alterar el array original. Forma parte del objetoArray y es la versióncopying del métodosort().
In this article
Sintaxis
toSorted()toSorted(compareFn)Parámetros
Valor devuelto
Un nuevo array con sus elementos ordenados de manera ascendente.
Descripción
Versort() para más información del parametrocompareFn.
Cuando se usa enarrays dispersos, el métodotoSorted() itera las posiciones vacías del array como si tuvieran el valor deundifined.
El métodotoSorted() esgenérico. Solo requiere que el valor dethis tenga una propiedadlength y propiedades indexadas por enteros.
Ejemplos
>Ordenando un array
const months = ["Mar", "Jan", "Feb", "Dec"];const sortedMonths = months.toSorted();console.log(sortedMonths); // ['Dec', 'Feb', 'Jan', 'Mar']console.log(months); // ['Mar', 'Jan', 'Feb', 'Dec']const values = [1, 10, 21, 2];const sortedValues = values.toSorted((a, b) => a - b);console.log(sortedValues); // [1, 2, 10, 21]console.log(values); // [1, 10, 21, 2]Para más ejemplos de uso, versort().
Usando toSorted() en arrays dispersos
Las posiciones vacías son ordenadas como si tuvieran el valorundefined. Siempre son ubicadas al final del array y no se invocacompareFn para ellas.
console.log(["a", "c", , "b"].toSorted()); // ['a', 'b', 'c', undefined]console.log([, undefined, "a", "b"].toSorted()); // ["a", "b", undefined, undefined]Llamar a toSorted() en objetos que no son arrays
El métodotoSorted() lee la propiedadlength dethis. Luego recopila todas las propiedades existentes indexadas por enteros en el rango de 0 a length - 1, las ordena y las escribe en un nuevo array.
const arrayLike = { length: 3, unrelated: "foo", 0: 5, 2: 4, 3: 3, // ignorado por toSorted() dado que length es 3};console.log(Array.prototype.toSorted.call(arrayLike));// [4, 5, undefined]Especificaciones
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-array.prototype.tosorted> |