JavaScript | 配列における要素の並び替え方法(reverse / sort)

JavaScript JavaScript
スポンサーリンク

では実際に「数値を sort() したときにおかしくなる例」を一緒に試してみましょう。


例:数値をそのまま sort() した場合

let numbers = [5, 27, 12, 41];
console.log("元の配列:", numbers);

numbers.sort();
console.log("sort()の結果:", numbers);
JavaScript

実行結果(ブラウザのコンソールなどで試すと…)

元の配列: [5, 27, 12, 41]
sort()の結果: [12, 27, 41, 5]

なぜこうなるの?

  • sort()デフォルトで「文字列」として比較 します。
  • つまり "12" < "5" と判断されるため、125 より前に来てしまうのです。

正しい数値の並べ替え(比較関数を使う)

let numbers = [5, 27, 12, 41];

// 昇順
numbers.sort((a, b) => a - b);
console.log("昇順:", numbers);

// 降順
numbers.sort((a, b) => b - a);
console.log("降順:", numbers);
JavaScript

実行結果

昇順: [5, 12, 27, 41]
降順: [41, 27, 12, 5]
タイトルとURLをコピーしました