JavaScript Array toSorted()

定义和用法

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

toSorted() 方法返回新数组。

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

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

另请参阅:

Array sort() 方法

Array reverse() 方法

排序比较函数

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

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

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

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

实例

例子 1

// Tạo một mảng
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Sắp xếp mảng
const fruits2 = fruits.toSorted();

Thử ngay

例子 2

排序后反转顺序:

// Tạo một mảng
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// Sắp xếp mảng
const fruits2 = fruits.toSorted();
// 反转数组
fruits2.reverse();

Thử ngay

Ví dụ 3

Sắp xếp theo thứ tự tăng dần sử dụng hàm sắp xếp:

// Tạo một mảng
const points = [40, 100, 1, 5, 25, 10];
// Sắp xếp mảng
let points2 = points.toSorted(function(a, b){return a - b});

Thử ngay

Ví dụ 4

Sắp xếp theo thứ tự giảm dần:

// Tạo một mảng
const points = [40, 100, 1, 5, 25, 10];
// Sắp xếp mảng
let points2 = points.toSorted(function(a, b){return b - a});

Thử ngay

Ví dụ 5

Tìm giá trị nhỏ nhất:

// Tạo một mảng
const points = [40, 100, 1, 5, 25, 10];
// Sắp xếp theo thứ tự tăng dần
let points2 = points.toSorted(function(a, b){return a - b});
let lowest = points2[0];

Thử ngay

Ví dụ 6

Tìm giá trị lớn nhất:

// Tạo một mảng
const points = [40, 100, 1, 5, 25, 10];
// Sắp xếp theo thứ tự giảm dần
let points2 = points.toSorted(function(a, b){return b - a});
let highest = points2[0];

Thử ngay

Ví dụ 7

Tìm giá trị lớn nhất:

// Tạo một mảng
const points = [40, 100, 1, 5, 25, 10];
// Sắp xếp theo thứ tự tăng dần
let points2 = points.toSorted(function(a, b){return a - b});
let highest = points2[points.length - 1];

Thử ngay

Cú pháp

array.sort(compareFunction)

Tham số

Tham số Mô tả
compareFunction

Tùy chọn. Định nghĩa hàm để xác định thứ tự sắp xếp. Hàm này nên trả về giá trị âm, bằng hoặc dương dựa trên tham số:

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

Khi hàm sort() so sánh hai giá trị, nó sẽ gửi các giá trị này đến hàm so sánh và sắp xếp giá trị dựa trên giá trị trả về (âm, bằng, dương).

Ví dụ:

Hàm sắp xếp sẽ coi 40 là giá trị nhỏ hơn 100.

Khi so sánh 40 và 100, hàm sort() gọi hàm function(40, 100).

Tính toán hàm 40 - 100 và trả về -60 (giá trị âm).

Giá trị trả về

Loại Mô tả
Array Mảng mới sau khi sắp xếp.

Hỗ trợ trình duyệt

toSorted() Là tính năng của ES2023.

Từ tháng 7 năm 2023 trở đi, tất cả các trình duyệt hiện đại đều hỗ trợ phương pháp này:

Chrome Edge Firefox Safari Opera
Chrome 110 Edge 110 Firefox 115 Safari 16.4 Opera 96
Tháng 2 năm 2023 Tháng 2 năm 2023 Tháng 7 năm 2023 Tháng 3 năm 2023 Tháng 5 năm 2023