フロントエンド

JavaScript で数値配列を昇順に並べ換える

アイキャッチ画像 by Kai Gradert

今回は JavaScript で数値配列を昇順に並べ換える方法をご紹介します。

JavaScript には Array オブジェクトに sort というメソッドが定義されていますが、デフォルトでは数値配列であってもその要素が文字列として解釈され、辞書順で並べ替えられてしまいます。

これは仕様なので受け入れるしかないです。知らないとびっくりしますよね。でもしっかり比較関数を与えれば数値の大小に従って並べ替えてくれるようになります!

動画で解説!数値の大小でソートさせる方法

ソート関数について

Array.prototype.sort()とは

JavaScript 組込みのソート関数は、引数に比較関数を与えないと配列の要素を文字列だと解釈して辞書順で並び替えを行います。

比較関数について

ソート関数に比較関数が与えられた場合、その返り値に従って配列の要素は並べ替えられます。

compare(a, b) という比較関数を与えたとき、返り値が負の数であれば a が b より小さい添字に並べなれます。その逆も然りです。0なら何もされません。