JavaScript Array toSorted()
- 上一頁 toReversed()
- 下一頁 toSpliced()
- 返回上一層 JavaScript Array 參考手冊
定義和用法
toSorted()
方法按字母順序對數組元素進行排序。
toSorted()
方法返回新數組。
toSorted()
方法不會覆蓋原始數組。
toSorted()
方法是 sort()
方法的復制版本。
另請參閱:
排序比較函數
按字母順序排序對字符串效果很好("Apple" 排在 "Banana" 之前)。
但是,對數字排序可能會產生不正確的結果。
"25" 比 "100" 大,因為 "2" 比 "1" 大。
可以通過提供“比較函數”來解決此問題(見下面的例子)。
實例
例子 1
// 創建一個數組 const fruits = ["Banana", "Orange", "Apple", "Mango"]; // 對數組進行排序 const fruits2 = fruits.toSorted();
例子 2
排序后反轉順序:
// 創建一個數組 const fruits = ["Banana", "Orange", "Apple", "Mango"]; // 對數組進行排序 const fruits2 = fruits.toSorted(); // 反轉數組 fruits2.reverse();
例子 3
使用排序函數按升序排序數字:
// 創建一個數組 const points = [40, 100, 1, 5, 25, 10]; // 對數組進行排序 let points2 = points.toSorted(function(a, b){return a - b});
例子 4
按降序排序數字:
// 創建一個數組 const points = [40, 100, 1, 5, 25, 10]; // 對數組進行排序 let points2 = points.toSorted(function(a, b){return b - a});
例子 5
查找最小值:
// 創建一個數組 const points = [40, 100, 1, 5, 25, 10]; // 按升序排序數字 let points2 = points.toSorted(function(a, b){return a - b}); let lowest = points2[0];
例子 6
查找最大值:
// 創建一個數組 const points = [40, 100, 1, 5, 25, 10]; // 按降序排序數字 let points2 = points.toSorted(function(a, b){return b - a}); let highest = points2[0];
例子 7
查找最大值:
// 創建一個數組 const points = [40, 100, 1, 5, 25, 10]; // 按升序排序數字 let points2 = points.toSorted(function(a, b){return a - b}); let highest = points2[points.length - 1];
語法
array.sort(compareFunction)
參數
參數 | 描述 |
---|---|
compareFunction |
可選。定義排序順序的函數。該函數應根據參數返回負值、零或正值: function(a, b){return a-b} 當 sort() 比較兩個值時,它會將這些值發送給比較函數,并根據返回的(負值、零、正值)對值進行排序。 舉例:排序函數會將 40 視為比 100 小的值。 當比較 40 和 100 時,sort() 調用函數 function(40, 100)。 函數計算 40 - 100,并返回 -60(負值)。 |
返回值
類型 | 描述 |
---|---|
Array | 排序后的新數組。 |
瀏覽器支持
toSorted()
是 ES2023 的特性。
自 2023 年 7 月起,所有現代瀏覽器均支持該方法:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 110 | Edge 110 | Firefox 115 | Safari 16.4 | Opera 96 |
2023 年 2 月 | 2023 年 2 月 | 2023 年 7 月 | 2023 年 3 月 | 2023 年 5 月 |
- 上一頁 toReversed()
- 下一頁 toSpliced()
- 返回上一層 JavaScript Array 參考手冊