JavaScript

【JavaScript】配列内の数値を小さい順(昇順)・大きい順(降順)に並び替える方法

本記事では、JavaScriptで配列内の数値を小さい順(昇順)・大きい順(降順)に並び替える方法について解説しています。

JavaScriptの学習におすすめ参考書
改訂3版JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで

本書情報
出版社技術評論社
著者山田 祥寛
発売日2023/2/13
ページ数624ページ
レビュー
(Amazon)
(4件)
先輩くん
先輩くん
10万部突破したJavaScriptの本が大幅増補改訂し7年ぶりに発売されたよ!
後輩ちゃん
後輩ちゃん
最新の基本文法から、開発に欠かせない応用トピックまで学ぶことが出来るよ!

綺麗なコードが書けるようになる!
リーダブルコード-より良いコードを書くためのシンプルで実践的なテクニック

本書情報
出版社オライリージャパン
著者Dustin Boswell / Trevor Foucher
発売日2012/6/23
ページ数260ページ
レビュー
(Amazon)
(620件)
先輩くん
先輩くん
より良いコードを書きたい人におすすめの本だよ!
後輩ちゃん
後輩ちゃん
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」に置き換えることで昇順に並び替えるコードを降順に並び替えるコードに変更することが出来ます。

ブログランキング・にほんブログ村へ PVアクセスランキング にほんブログ村