データの数 = 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 は止まる.