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