次の関数が文字列を数値でソートする理由(コードの3番目のセクション)を理解するのに問題があります。
var myArray = [10, 44, 32, 100, 0, 44, 3, 4];
console.log(myArray.toString()); // 10, 44, 32, 100, 0, 44, 3, 4 --> unsorted
myArray.sort();
console.log(myArray.toString()); // 0,10,100,3,32,4,44,44 --> sorted like strings
// this is what confuses me:
myArray.sort(function (a, b) {
return a - b;
});
console.log(myArray.toString()); // 0,3,4,10,32,44,44,100 --> sorted numerically
具体的には:
どのよう
a
にしb
て人口を増やしますか?なぜ減算
a - b
は数値を番号順にソートするのですか?関数が一度に2つの数値のみを検査している場合、すべての数値を適切な順序に並べ替えるにはどうすればよいですか?(すなわち
a
)b