JavaScript Array toSorted()

定义和用法

toSorted() 方法按字母顺序对数组元素进行排序。

toSorted() 方法返回新数组。

toSorted() 方法不会覆盖原始数组。

toSorted() 方法是 sort() 方法的复制版本。

另请参阅:

Array sort() 方法

Array reverse() 方法

排序比较函数

按字母顺序排序对字符串效果很好("Apple" 排在 "Banana" 之前)。

但是,对数字排序可能会产生不正确的结果。

"25" 比 "100" 大,因为 "2" 比 "1" 大。

可以通过提供“比较函数”来解决此问题(见下面的例子)。

实例

例子 1

// Crear un array
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Ordenar el array
const fruits2 = fruits.toSorted();

Prueba por tu cuenta

例子 2

排序后反转顺序:

// Crear un array
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Ordenar el array
const fruits2 = fruits.toSorted();
// 反转数组
fruits2.reverse();

Prueba por tu cuenta

Ejemplo 3

Ordenar números en orden ascendente usando la función de ordenación:

// Crear un array
const points = [40, 100, 1, 5, 25, 10];
// Ordenar el array
let points2 = points.toSorted(function(a, b){return a - b});

Prueba por tu cuenta

Ejemplo 4

Ordenar números en orden descendente:

// Crear un array
const points = [40, 100, 1, 5, 25, 10];
// Ordenar el array
let points2 = points.toSorted(function(a, b){return b - a});

Prueba por tu cuenta

Ejemplo 5

Encontrar el valor mínimo:

// Crear un array
const points = [40, 100, 1, 5, 25, 10];
// Ordenar números en orden ascendente
let points2 = points.toSorted(function(a, b){return a - b});
let lowest = points2[0];

Prueba por tu cuenta

Ejemplo 6

Encontrar el valor máximo:

// Crear un array
const points = [40, 100, 1, 5, 25, 10];
// Ordenar números en orden descendente
let points2 = points.toSorted(function(a, b){return b - a});
let highest = points2[0];

Prueba por tu cuenta

Ejemplo 7

Encontrar el valor máximo:

// Crear un array
const points = [40, 100, 1, 5, 25, 10];
// Ordenar números en orden ascendente
let points2 = points.toSorted(function(a, b){return a - b});
let highest = points2[points.length - 1];

Prueba por tu cuenta

Sintaxis

array.sort(compareFunction)

Parámetros

Parámetros Descripción
compareFunction

Opcional. Define la función que define el orden de clasificación. Esta función debe devolver un valor negativo, cero o positivo según los parámetros:

function(a, b){return a-b}

Al comparar dos valores con sort(), envía estos valores a la función de comparación y ordena los valores según el valor devuelto (negativo, cero, positivo) por la función.

Ejemplo:

La función de ordenación considera que 40 es un valor menor que 100.

Al comparar 40 y 100, el método sort() llama a la función function(40, 100).

La función calcula 40 - 100 y devuelve -60 (valor negativo).

Valor de retorno

Tipo Descripción
Array Nuevo array ordenado.

Compatibilidad del navegador

toSorted() Es una característica de ES2023.

A partir de julio de 2023, todos los navegadores modernos soportan este método:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
Febrero de 2023 Febrero de 2023 Julio de 2023 Marzo de 2023 Mayo de 2023