JavaScript 陣列 toSorted()
示例
// 建立一個數組
const fruits = ["Banana", "Orange", "Apple", "Mango"];
// 對陣列進行排序
const fruit2 = fruits.toSorted();
自己動手試一試 »
更多示例見下文!
描述
toSorted()
方法將陣列元素按字母順序排序。
toSorted()
方法返回一個新陣列。
toSorted()
方法不會覆蓋原始陣列。
toSorted()
方法是 sort()
方法的複製版本。
排序比較函式
按字母排序對字串("Apple" 在 "Banana" 之前)非常有效。
但是,數字排序可能會產生不正確的結果。
"25" 比 "100" 大,因為 "2" 比 "1" 大。
你可以透過提供一個“比較函式”來解決這個問題(參見下面的示例)。
語法
陣列.sort(比較函式)
引數
引數 | 描述 |
比較函式 | 可選。 定義排序順序的函式。該函式應根據引數返回負值、零或正值。
當 sort() 比較兩個值時,它會將這些值傳送給比較函式,並根據返回的(負值、零、正值)對值進行排序。 示例 排序函式會將 40 排序為小於 100 的值。 當比較 40 和 100 時,sort() 呼叫函式(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()
是 ES2023 的一個特性。
自 2023 年 7 月起,所有現代瀏覽器均支援此功能。
Chrome 110 | Edge 110 | Firefox 115 | Safari 16.4 | Opera 96 |
2023 年 2 月 | 2023 年 2 月 | 2023 年 7 月 | 2023 年 3 月 | 2023 年 5 月 |