この記事の目次 開く・閉じる

今回の仕上がり
数値の配列でも、比較関数を省略すると数値の大小順になるとは限りません。[1,10,2]をtoSortedで並べると、今回の結果は[1,10,2]でした。既定では文字列として比較されるためです。
比較関数を(a, b) => a - bにすると[1,2,10]になりました。自作例では結果と元の配列を別々に表示し、どちらが変わるかも確認できます。
操作手順
- 「既定の比較」で結果の10が2より前にあることを確認します。
- 「数値の比較」へ切り替え、結果が[1,2,10]になることを確かめます。
- 「操作後の元配列」は[1,10,2]のままです。
- 「sortで元を変更」を選ぶと、元配列も[1,2,10]になり、「同じ配列」がtrueになります。
toSortedは新しい配列を返します。sortは元の配列を並べ替えて同じ参照を返します。表示用の順番だけ変えたい場合は、元の順番を保持する必要があるか決めてから選びます。保存用ZIPのexample.htmlでも3条件を再現できます。
注意点と確認範囲
toSortedとsortの仕様説明を実験と照合しました。今回は通常のArrayに入れた有限の数値3個を対象にしています。数値と文字列の混在、NaN、空要素、大量データの速度は未検証です。
新しい配列でも、要素がオブジェクトなら入れ子の値まで別物になるわけではありません。次のコピーと入れ子の実験でその違いを確認できます。古いブラウザではtoSortedの対応確認も必要です。Xの元投稿や反響は確認できておらず、流行や新機能として紹介する記事ではありません。
操作できる作例
確認日:2026年10月30日。PCブラウザとスマホ幅で確認。スマホ実機・読み上げ・全ブラウザは未確認です。