本記事では、JavaScriptで配列内の数値を小さい順(昇順)・大きい順(降順)に並び替える方法について解説しています。
JavaScriptの学習におすすめ参考書
改訂3版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで
先輩くん
10万部突破したJavaScriptの本が大幅増補改訂し7年ぶりに発売されたよ!
後輩ちゃん
最新の基本文法から、開発に欠かせない応用トピックまで学ぶことが出来るよ!
綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
10以上前の書籍ですが、内容は今でも役に立つものばかりです!
配列内の数値を小さい順(昇順)に並び替える
配列内の数値を小さい順(昇順)に並び替えるコードは以下のとおりです。
let numArr = [10, 30, 20, 50, 40];
// アロー関数 ver
numArr.sort((x, y) => x - y);
// function ver
numArr.sort(function (x, y) {
return x - y;
});
console.log(numArr); // => [10, 20, 30, 40, 50]
コールバック関数の引数は比較する配列要素2つを取ります。第一引数(x)と第二引数(y)を減算した結果が正数(+)であれば、xをyの後ろに並び替えます。もしxとyを減算した結果が負数(-)であれば、xをyの前に並び替えます。
配列内の数値を大きい順(降順)に並び替える
配列内の数値を大きい順(降順)に並び替えるコードは以下のとおりです。
let numArr = [10, 30, 20, 50, 40];
// アロー関数ver
numArr.sort((x, y) => y - x);
// function ver
numArr.sort(function (x, y) {
return y - x;
});
console.log(numArr); // => [50, 40, 30, 20, 10]
仕組みは、小さい順(昇順)で解説したものと全く同じです。「x – y」を「y – x」に置き換えることで昇順に並び替えるコードを降順に並び替えるコードに変更することが出来ます。