【JSリファレンス】Int8Array.prototype.toSorted()
更新日:2024/06/14
初出:ECMAScript2023
Int8Array.prototype.toSorted()は、Int8Arrayオブジェクト(Int8Arrayコンストラクターのインスタンス)のプロトタイプチェーンに組み込まれるメソッドです。
Int8Arrayオブジェクト内で要素を昇順に並び替えますが、コールバック関数によるカスタマイズも可能です
並び替えた結果は、新しいArrayBufferが関連付けられた、新しいInt8Arrayオブジェクトにセットされます。
同様の機能にInt8Array.prototype.sort()がありますが、こちらは元となるInt8Arrayオブジェクトの内容を変更します。
■構文
Int8Array.prototype.toSorted ( comparefn )
- comparefn: 省略可能。
要素の比較を行う関数を指定する。
■comparefnの構文
comparefn ( x , y ){ }
- x: 現在比較対象となっている要素の値
- y: 現在比較対象となっている要素の値
大小関係 | 戻り値 |
---|---|
y の方が大きい( x < y ) | 負の値 |
x の方が大きい( x < y ) | 正の値 |
同じ値( x = y ) | 0 |
comparefnの省略時は、抽象比較 x < y が true なら -1、x > y が true なら 1、それ以外なら 0 をcomparefnが返したとみなす。
■使用例
▶ x - y の結果を返すと昇順ソート
const typedArray = new Int8Array([8,2,11]);
const typedArray2 = typedArray.toSorted(
(x,y) => x - y
);
console.log( typedArray ); // [ 8, 2, 11 ]
console.log( typedArray2 ); // [ 2, 8, 11 ]
▶ (x - y) * -1 の結果を返すと降順ソート
const typedArray = new Int8Array([8,2,11]);
const typedArray2 = typedArray.toSorted(
(x,y) => (x - y) * -1 // (x,y) => y - x でもOK
);
console.log( typedArray ); // [ 8, 2, 11 ]
console.log( typedArray2 ); // [ 11, 8, 2 ]
更新日:2024/06/14
スポンサーリンク
記事の内容について
こんにちはけーちゃんです。
説明するのって難しいですね。
「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。
裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。
掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。
ご意見、ご指摘はこちら。
https://jsref.affi-sapo-sv.com/info.php
このサイトは、リンクフリーです。大歓迎です。