このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

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);
// Expected output: Uint8Array [10, 20, 30, 40, 50]

構文

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® 2026 Language Specification
# sec-%typedarray%.prototype.sort

ブラウザーの互換性

関連情報