データの数 = 8個
もとのデータ配列 [6,7,3,0,2,9,1,4]
予測される結果は [0,1,2,3,4,6,7,9]
解説
基本的に 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(); 配列.sort(比較関数(関数の内容)); 3. function()で任意の名前をつける それは → function(左,右) 対象の数を比較する. 左から右を減算したときの結果が「正の数」ならば, 対象の数値がマージされる(左右の数データが入れ替わる). しかし左から右を減算したときの結果が「負の数」ならば, 対象の数値はマージされない(スルーして次の対象を比較する). 4. { } の中にプログラムを書いて, 最後に「document.write」させる. プログラムの内容: 実行させると第1比較がスタートする. 全体の sort() 演算作業は次のように行われる. もとのデータ [6,7,3,0,2,9,1,4] 第1マージ [6,3,7,0,2,9,1,4] 第2マージ [3,6,7,0,2,9,1,4] 第3マージ [3,6,0,7,2,9,1,4] 第4マージ [3,0,6,7,2,9,1,4] 第5マージ [0,3,6,7,2,9,1,4] 第6マージ [0,3,6,2,7,9,1,4] 第7マージ [0,3,2,6,7,9,1,4] 第8マージ [0,2,3,6,7,9,1,4] 第9マージ [0,2,3,6,7,1,9,4] 第10マージ [0,2,3,6,1,7,9,4] 第11マージ [0,2,3,1,6,7,9,4] 第12マージ [0,2,1,3,6,7,9,4] 第13マージ [0,1,2,3,6,7,9,4] 第14マージ [0,1,2,3,6,7,4,9] 第15マージ [0,1,2,3,6,4,7,9] 第16マージ: 終了 [0,1,2,3,4,6,7,9] ここで JavaScript は止まる.