【JSリファレンス】Int8Array.prototype.sort()

更新日:2024/06/14

Int8Array.prototype.sort()は、Int8Arrayオブジェクト(Int8Arrayコンストラクターのインスタンス)プロトタイプチェーンに組み込まれるメソッドです。

Int8Arrayオブジェクト内で要素を昇順に並び替えますが、コールバック関数によるカスタマイズも可能です

同様の機能にInt8Array.prototype.toSorted()がありますが、こちらは新規のInt8Arrayオブジェクトを生成して、並び替え結果をセットして返します。

 

■構文

Int8Array.prototype.sort ( comparefn )
  1. comparefn: 省略可能。
    要素の比較を行う関数を指定する。
対象となっているInt8Arrayオブジェクト

 

■comparefnの構文

comparefn ( x , y ){ }
  1. x: 現在比較対象となっている要素の値
  2. y: 現在比較対象となっている要素の値
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,4,11]);
  
typedArray.sort( 
    (x,y) => x - y
 );

console.log( typedArray ); // [ 4, 8, 11 ]

(x - y) * -1 の結果を返すと降順ソート

const typedArray = new Int8Array([8,4,11]);
  
typedArray.sort( 
    (x,y)=> (x - y) * -1  // (x,y)=> y - x でもOK
 );

console.log( typedArray ); // [ 11, 8, 4 ]

更新日:2024/06/14

書いた人(管理人):けーちゃん

スポンサーリンク

記事の内容について

null

こんにちはけーちゃんです。
説明するのって難しいですね。

「なんか言ってることおかしくない?」
たぶん、こんなご意見あると思います。

裏付けを取りながら記事を作成していますが、僕の勘違いだったり、そもそも情報源の内容が間違えていたりで、正確でないことが多いと思います。
そんなときは、ご意見もらえたら嬉しいです。

掲載コードについては事前に動作確認をしていますが、貼り付け後に体裁を整えるなどをした結果動作しないものになっていることがあります。
生暖かい視線でスルーするか、ご指摘ください。

ご意見、ご指摘はこちら。
https://jsref.affi-sapo-sv.com/info.php

 

このサイトは、リンクフリーです。大歓迎です。