中級 › Array.prototype.sort()が数値を文字列として並べ替える理由 › パターン4
Array.prototype.sort()が数値を文字列として並べ替える理由
比較関数を渡さないsort()は、要素を文字列に変換してUnicodeコードポイント順に並べ替えます。
1 const values = [40, 5, 200, 1]; 2 console.log(values.sort(_______________)); ^
出力: [ 1, 200, 40, 5 ]期待: [ 1, 5, 40, 200 ] (エラーにはなりません)
空欄を埋めて実行を通す
比較関数を省略すると文字列として並べ替えられます。桁数が揃っていない数値ほどずれが目立ちます。
次の問題