中級 › Array.prototype.sort()が数値を文字列として並べ替える理由 › パターン2
Array.prototype.sort()が数値を文字列として並べ替える理由
比較関数を渡さないsort()は、要素を文字列に変換してUnicodeコードポイント順に並べ替えます。
1 const ids = [5, 25, 100, 1]; 2 console.log(ids.sort(_______________)); ^
出力: [ 1, 100, 25, 5 ]期待: [ 1, 5, 25, 100 ] (エラーにはなりません)
空欄を埋めて実行を通す
文字列として比較すると"100"は"25"より前、"25"は"5"より前に来ます。数値の大小で並べたい場合は必ず比較関数を渡します。
次の問題