JavaScript Array toSorted() 方法
实例
按字母顺序对数组的元素进行排序:
// 排序
const sites = ["Google", "Runoob", "JYSHARE", "Taobao"];
// 反转数组
const sites2 = sites.toSorted();
document.getElementById("demo").innerHTML = sites2;
输出结果:
Google,JYSHARE,Runoob,Taobao
尝试一下 »
定义和用法
toSorted() 方法用于对数组中的元素按字母顺序进行排序。
toSorted() 方法返回一个新的数组。
toSorted() 方法不会修改原始数组。
toSorted() 是 sort() 方法的复制版本。
排序比较函数:
- 字符串排序(如 "Apple" 在 "Banana" 之前)通常按字母顺序工作。
- 数字排序可能产生错误的结果,因为字符串比较会将 "25" 视为大于 "100"(因为 "2" 大于 "1")。
- 可以通过提供一个"比较函数"来解决这个问题(见以下示例)。
浏览器支持
toSorted() 是 ES2023 的一项功能。
自 2023 年 7 月起,所有现代浏览器均支持该功能:
Chrome 110 | Edge 110 | Firefox 115 | Safari 16.4 | Opera 96 |
Feb 2023 | Feb 2023 | Jul 2023 | Mar 2023 | May 2023 |
语法
array.toSorted(compareFunction)
参数
参数 | 描述 |
---|---|
compareFunction(可选) | 定义排序顺序的函数。该函数应根据参数返回负值、零或正值,例如: function(a, b) { return a - b; } 当 sort() 比较两个值时,它会将值传递给比较函数,并根据返回值(负值、零、正值)对值进行排序。 |
返回值
类型 | 描述 |
---|---|
Array | 返回一个排序后的新数组。 |
更多示例
降序排序:
实例
const fruits = ["Banana", "Orange", "Apple", "Mango"];
const fruits2 = fruits.toSorted();
fruits2.reverse();
const fruits2 = fruits.toSorted();
fruits2.reverse();
查找最小值:
实例
const points = [40, 100, 1, 5, 25, 10];
let points2 = points.toSorted(function(a, b) { return a - b; });
let lowest = points2[0];
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];
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];
点我分享笔记