本記事では、JavaScriptで配列内の数値を小さい順(昇順)・大きい順(降順)に並び替える方法について解説しています。
JavaScriptの学習におすすめ書籍
1冊ですべて身につくJavaScript入門講座
メリット
- 誰でも分かるように嚙み砕いて説明してくれる
- アニメーションの知識が深く学べる
- 1つのWebサイトを作りながら学べる
ポチップ
先輩くん
Amazon Kindle Unlimitedに登録すると、月額980円で読み放題だからオススメだよ!
初回30日間は無料だから、まだ登録したことのない人はぜひ試してみてね!
全プログラマー必見!
変数名/関数名にもう悩まない!
変数名/関数名にもう悩まない!
リーダブルコード
メリット
- 美しいコードが書けるが自然と書けるようになる
- 他の開発者が理解しやすいコードになる
著:Dustin Boswell, 著:Trevor Foucher, 解説:須藤 功平, 翻訳:角 征典
¥2,640 (2023/07/23 02:48時点 | Amazon調べ)
目次
配列内の数値を小さい順(昇順)に並び替える
配列内の数値を小さい順(昇順)に並び替えるコードは以下のとおりです。
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」に置き換えることで昇順に並び替えるコードを降順に並び替えるコードに変更することが出来ます。