JavaScript 数组 toSorted() 方法
示例
// 创建一个数组
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// 对数组进行排序
const fruit2 = fruits.toSorted();亲自试一试 »描述
toSorted() 方法按字母顺序对数组元素进行排序。
toSorted() 方法返回一个新数组。
toSorted() 方法不会覆盖原始数组。
toSorted() 方法是 sort() 方法的复制版本。
数组排序方法:
| 方法 | 查找 |
|---|---|
| reverse() | 反转数组元素的顺序 |
| sort() | 对数组元素进行排序 |
| toReversed() | 将数组元素反转并生成一个新数组 |
| toSorted() | 将数组元素排序并生成一个新数组 |
排序比较函数
按字母顺序排序对字符串效果很好(例如,"Apple"排在"Banana"之前)。
但是,对数字进行排序可能会产生错误的结果。
"25"大于"100",因为"2"大于"1"。
您可以通过提供一个"比较函数"来解决这个问题(请参见以下示例)。
语法
array.sort(compareFunction)
参数
| 参数 | 描述 |
| compareFunction | 可选。 定义排序顺序的函数。该函数应根据参数返回负值、零或正值:
当 sort() 函数比较两个值时,它会将这两个值传递给比较函数,并根据返回值(负数、零或正数)对它们进行排序。 示例: sort 函数会将 40 排序为小于 100 的值。 比较 40 和 100 时,sort() 函数会调用 function(40,100)。 该函数计算 40-100,并返回 -60(负数)。 |
返回值
| 类型 | 描述 |
| 数组 | 一个已排序的新数组。 |
更多示例-降序排序
排序后反转顺序:
// 创建一个数组
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// 对数组进行排序
const fruits2 = fruits.toSorted();
// 反转数组
fruits2.reverse();亲自试一试 »数值排序-使用排序函数
按升序对数字进行排序:
// 创建一个数组
const points = [40, 100, 1, 5, 25, 10];
// 对数组进行排序
let points2 = points.toSorted(function(a, b){return a-b});亲自试一试 »按降序排列数字:
// 创建一个数组
const points = [40, 100, 1, 5, 25, 10];
// 对数组进行排序
let points2 = points.toSorted(function(a, b){return b-a});亲自试一试 »找出最小值:
// 创建一个数组
const points = [40, 100, 1, 5, 25, 10];
// 将数字按升序排列
let points2 = points.toSorted(function(a, b){return a-b});
let lowest = points2[0];亲自试一试 »找出最大值:
// 创建一个数组
const points = [40, 100, 1, 5, 25, 10];
// 将数字按降序排列:
let points2 = points.toSorted(function(a, b){return b-a});
let highest = points2[0];亲自试一试 »找出最大值:
// 创建一个数组
const points = [40, 100, 1, 5, 25, 10];
// 将数字按升序排列:
let points2 = points.toSorted(function(a, b){return a-b});
let highest = points2[points.length-1];亲自试一试 »浏览器支持
toSorted() 是 JavaScript 2023 的一项特性。
ES 2023 自 2023 年 7 月起,所有现代浏览器均支持 ES 2023。
| Chrome 110 |
Edge 110 |
Firefox 115 |
Safari 16.4 |
Opera 96 |
| 2023年2月 | 2023年2月 | 2023年7月 | 2023年3月 | 2023年5月 |
