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