TypedArray.prototype.sort()

sort()TypedArray インスタンスのメソッドで、型付き配列の要素をその場 (in-place) でソートし、その型付き配列を返します。このメソッドは Array.prototype.sort() と同じアルゴリズムですが、既定で文字列としてではなく数値として値をソートする点が異なります。

試してみましょう

構文

js
sort()
sort(compareFn)

引数

compareFn 省略可

ソート順を定義する関数です。返値は、 2 つの要素の相対順序を示す符号を持つ数値でなければなりません。 ab より小さい場合は負の値、ab より大きい場合は正の値、等しい場合は 0 です。 NaN0 として扱われます。この関数は以下の引数で呼び出されます。

a

比較のための最初の要素。決して undefined にはなりません。

b

比較のための2つ目の要素。決して undefined にはなりません。

省略した場合、型付き配列の要素は数値順にソートされます。

返値

ソートされた型付き配列の元配列への参照です。型付き配列はその場 (in-place) でソートされ,コピーは行われないことに注意してください。

解説

詳細については、 Array.prototype.sort() をご覧ください。このメソッドは汎用的ではなく、型付き配列インスタンスに対してのみ呼び出すことができます。

sort() の使用

他の例は、 Array.prototype.sort() メソッドです。

js
let numbers = new Uint8Array([40, 1, 5, 200]);
numbers.sort();
// Uint8Array [ 1, 5, 40, 200 ]
// ふつうの配列とは異なり、数値的に数値を並べ替えるためには
// 比較関数は必要ありません。

// ふつうの配列は数値で並べ替えるために比較関数を必要とします。
numbers = [40, 1, 5, 200];
numbers.sort();
// [1, 200, 40, 5]

numbers.sort((a, b) => a - b); // 数値を比較
// [ 1, 5, 40, 200 ]

仕様書

Specification
ECMAScript Language Specification
# sec-%typedarray%.prototype.sort

ブラウザーの互換性

BCD tables only load in the browser

関連情報