前提・実現したいこと
数値が格納された配列を昇順(降順)に並べ替える際に、ソートメソッドの引数に比較関数を
記述するかと思うのですが、中でどういう処理がされているのかが分かりません。
そのため、具体的にどういう順序でソートされているのかを知りたいです。
試したこと
比較関数内の値を確認してみたが、比較されている値を上手く追えない。
該当のソースコード
javascript
1let testNumber = [10, 4, 8, 1]; 2testNumber.sort(function(now, pre){ 3 console.log("第一引数: " + now); 4 console.log("第二引数: " + pre); 5 let comp = now - pre; 6 if (comp < 0){ 7 console.log("第一引数の方が小さいので、第一引数のインデックスを第二引数より前に移動させる"); 8 } 9 else{ 10 console.log("第一引数の方が大きいので、第二引数のインデックスを第一引数より前に移動させる"); 11 } 12 return now - pre; 13}) 14console.log(testNumber);
第一引数: 4 第二引数: 10 第一引数の方が小さいので、第一引数のインデックスを第二引数より前に移動させる 第一引数: 8 第二引数: 4 第一引数の方が大きいので、第二引数のインデックスを第一引数より前に移動させる 第一引数: 8 第二引数: 10 第一引数の方が小さいので、第一引数のインデックスを第二引数より前に移動させる 第一引数: 8 第二引数: 4 第一引数の方が大きいので、第二引数のインデックスを第一引数より前に移動させる 第一引数: 1 第二引数: 8 第一引数の方が小さいので、第一引数のインデックスを第二引数より前に移動させる 第一引数: 1 第二引数: 4 第一引数の方が小さいので、第一引数のインデックスを第二引数より前に移動させる [1, 4, 8, 10]
分かりやすく教えていただけると嬉しいです。
何卒、よろしくお願いいたします。