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

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

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

作成日: 更新日:

基本的な使い方

sortメソッドは、配列の要素を並べ替えるためのメソッドです。このメソッドは、配列内の要素を特定の順序で並べ替えて、その配列自体を変更し、並べ替えられた配列への参照を返します。引数を指定しない場合、配列の要素は文字列としてUnicodeのコードポイント順に昇順で並べ替えられます。そのため、数値の配列をそのままソートすると、「10」が「2」よりも前に来るといった、数値としての期待とは異なる結果になることがあるため注意が必要です。

任意の並べ替え順を定義したい場合は、compareFunctionと呼ばれる比較関数を引数として渡すことができます。この比較関数は、ソート対象の2つの要素abを受け取ります。比較関数が負の値を返した場合、abより前に来ます。正の値を返した場合、abより後に来ます。ゼロを返した場合は、abの相対的な順序は変更されません。この比較関数を利用することで、数値の昇順・降順、オブジェクトの特定のプロパティによるソートなど、多様な条件での並べ替えを柔軟に実現できます。sortメソッドは元の配列自体を変更する「インプレースソート」であるため、元の配列を保持したい場合は、ソート前に配列のコピーを作成して使用してください。

構文(syntax)

const array = [3, 1, 4, 1, 5, 9, 2, 6];
array.sort((a, b) => a - b);

引数(parameters)

compareFn

  • compareFn: function: 配列の要素の順序を決定するために使用される関数。
    • 2つの引数(a, b)を取り、以下のいずれかの値を返します。
      • a < b の場合、負の数
      • a > b の場合、正の数
      • a === b の場合、0
    • この関数を指定しない場合、要素は文字列として比較され、UTF-16コードポイントの順序でソートされます。

戻り値(return)

Array

このメソッドは、元の配列を直接変更し、ソートされた配列を返します。

関連コンテンツ

関連プログラミング言語