TypedArray.prototype.sort()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2016年9月.
sort() は TypedArray インスタンスのメソッドで、型付き配列の要素をその場 (in-place) でソートし、その型付き配列を返します。このメソッドは Array.prototype.sort() と同じアルゴリズムですが、既定で文字列としてではなく数値として値をソートする点が異なります。
試してみましょう
const uint8 = new Uint8Array([40, 10, 50, 20, 30]);
uint8.sort();
console.log(uint8);
// 予想される結果: Uint8Array [10, 20, 30, 40, 50]
構文
js
sort()
sort(compareFn)
引数
compareFn省略可-
ソート順を定義する関数です。この関数は以下の引数で呼び出されます。
次のような数値を返す必要があります。
- 負の数は、
aがbより前に来ることを示す - 正の数は、
aがbの後に来ることを示す - 0 または
NaNはaとbが等しいことを示す。
覚え方としては、
(a, b) => a - bが数値を昇順で並べるということを思い出してください。省略した場合、型付き配列の要素は数値順にソートされます。
- 負の数は、
返値
ソートされた型付き配列の元配列への参照です。型付き配列はその場 (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® 2026 Language Specification> # sec-%typedarray%.prototype.sort> |