Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Node.js24.x】Array::toSorted()メソッドの使い方

toSortedメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

toSortedメソッドは、配列の要素をソートした新しい配列を生成して返すメソッドです。このメソッドは、元の配列の内容を変更しない「非破壊的」な操作を行う点が特徴です。

引数として、オプションでcompareFnと呼ばれる比較関数を受け取ることができます。compareFnは2つの要素abを引数に取り、その比較結果を示す数値を返します。abより前に配置する場合は負の数を、abより後に配置する場合は正の数を、順序を変更しない場合はゼロを返します。この比較関数を指定することで、数値の昇順や降順、オブジェクトの特定のプロパティに基づくソートなど、柔軟なソート順序を定義することが可能です。

compareFnを省略した場合、toSortedメソッドは配列の各要素を文字列に変換し、Unicodeのコードポイント順にソートします。例えば、数字のみの配列でも、文字列として扱われるため、「10」が「2」の前に来るような辞書順ソートになりますので注意が必要です。

このtoSortedメソッドは、元の配列を直接変更するsort()メソッドとは異なり、常に新しいソート済み配列を返すため、元のデータを保持しつつソートされた結果が必要な場合に特に有用です。システムエンジニアを目指す初心者の方々にとって、データの操作において元の状態を保つことの重要性を理解する上で役立つ機能です。

構文(syntax)

1const arr = [3, 1, 2];
2const newArr = arr.toSorted();

引数(parameters)

compareFn = undefined

  • compareFn: (a, b) => number: 配列の要素をソートする比較関数。
    • 省略された場合、要素は文字列に変換され、Unicodeコードポイント順にソートされます。
    • この関数は2つの引数 (a, b) を受け取ります。
    • 戻り値は以下のようになります:
      • 負の値: a を b より前に配置します。
      • 0: a と b の順序は変更しません。
      • 正の値: b を a より前に配置します。

戻り値(return)

Array

このメソッドは、元の配列を変更せずに、要素が昇順にソートされた新しい配列を返します。

関連コンテンツ

関連プログラミング言語