このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docsコミュニティーについてもっと知り、仲間になるにはこちらから。
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() と同じアルゴリズムですが、既定で文字列としてではなく数値として値をソートする点が異なります。
In this article
試してみましょう
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> |