降順 / 数値 (function を使って記述)

データの数 = 8個

データの数 = 8個

もとのデータ配列 [6,7,3,0,2,9,1,4]

予測される結果は [9,7,6,4,3,2,1,0]



解説

基本的に JavaScript の sort()関数は, デフォルトとして「数」を文字列に変換して文字コード順に並び替えます.

1. データ(8個の配列)を読み込む
データを読み込んだ瞬間にブラウザはすべての文字の文字コード番号を把握している.
  UTF-8 の場合(10進数/16進数)
     0 = 48 / 30h
     1 = 49 / 31h
     2 = 50 / 32h
     3 = 51 / 33h
     4 = 52 / 34h
     5 = 53 / 35h
     6 = 54 / 36h
     7 = 55 / 37h
     8 = 56 / 38h
     9 = 57 / 39h

2. Sort() メソッドを使用して「8個のデータを降順に並べ替えよ」と命令.
  配列.sort(function(左,右)
  {return 右-左;});

3. 「document.write」させる.

全体の sort() 演算作業は次のように行われる.

 もとのデータ [6,7,3,0,2,9,1,4]
 第1マージ [7,6,3,0,2,9,1,4]
 第2マージ [7,6,3,2,0,9,1,4]
 第3マージ [7,6,3,2,9,0,1,4]
 第4マージ [7,6,3,9,2,0,1,4]
 第5マージ [7,6,9,3,2,0,1,4]
 第6マージ [7,9,6,3,2,0,1,4]
 第7マージ [9,7,6,3,2,0,1,4]
 第8マージ [9,7,6,3,2,1,0,4]
 第9マージ [9,7,6,3,2,1,4,0]
 第10マージ [9,7,6,3,2,4,1,0]
 第11マージ [9,7,6,3,4,2,1,0]
 第12マージ 終了 [9,7,6,4,3,2,1,0] ここで JavaScript は止まる.