JavaScript - Array .toSorted() 方法



排序是將專案按特定順序(如數字或字母順序)排列的過程。這提供了專案的正確排列,並使在列表或陣列中搜索和查詢特定專案變得更容易。

在 JavaScript 中,Array.toSorted() 方法用於按特定順序(升序或降序)對陣列的元素進行排序。它將元素轉換為字串,然後比較其 UTF-16 程式碼單元值的序列。

此方法接受一個可選引數:“compareFunction”,它定義排序順序。如果未提供,則此方法預設按升序排序。

語法

以下是 JavaScript Array.toSorted() 方法的語法 -

toSorted(compareFn)

引數

此方法接受一個可選引數。下面描述了相同的內容 -

  • compareFn(可選) - 這是一個定義排序順序的函式。如果提供,則陣列將首先轉換為字串,然後根據每個字元的 Unicode 程式碼點值進行排序。
    • a - 第一個比較元素。
    • b - 第二個比較元素。

返回值

此方法返回一個包含按升序排序的元素的新陣列。

示例

示例 1

在下面的示例中,我們使用 JavaScript Array.toSorted() 方法對數字陣列進行排序。由於我們沒有提供任何函式(定義排序順序)作為引數,因此它預設按升序排序。

<html>
<body>
   <script>
      let numbers = [4, 2, 5, 1, 3];
      let result = numbers.toSorted();
      document.write(result);
   </script>
</body>
</html>

執行上述程式後,它將返回一個包含按升序排序的元素的新陣列。

輸出

1,2,3,4,5

示例 2

在此示例中,我們透過向 toSorted() 方法提供比較函式作為引數,以降序對數字陣列進行排序。

<html>
<body>
   <script>
      let numbers = [4, 2, 5, 1, 3];
      let result = numbers.toSorted((a, b) => b - a);
      document.write(result);
   </script>
</body>
</html>

如果我們執行上述程式,我們可以看到新陣列包含按降序排序的元素。

輸出

5,4,3,2,1

示例 3

在下面的示例中,我們對字串陣列進行排序,而沒有向 toSorted() 方法傳遞比較函式。

<html>
<body>
   <script>
      let fruits = ['Banana', 'Orange', 'Apple', 'Mango'];
      let result = fruits.toSorted();
      document.write(result);
   </script>
</body>
</html>

結果,新陣列包含按升序排列的字串元素。

輸出

Apple,Banana,Mango,Orange

示例 4

在這裡,我們按降序對物件陣列的某個屬性進行排序。

<html>
<body>
   <script>
      let people = [
         { name: 'John', age: 25 },
         { name: 'Jane', age: 30 },
         { name: 'Alice', age: 20 },
      ];
      let result = people.toSorted((a, b) => b.age - a.age);
      document.write(JSON.stringify(result));
   </script>
</body>
</html>

如果我們執行上述程式,它將按降序對物件的年齡屬性進行排序。

輸出

[{"name":"Jane","age":30},{"name":"John","age":25},{"name":"Alice","age":20}]
廣告