frontendmemo

このサイトは、「html、css、js、ツールなどについて、自分が覚えたこと、またはいつも忘れて調べることを書き溜め、それが結果といて勉強したての初心者の方や自分と同じような技術レベルの人の助けになることを目的とするWebログ」、略してブログです。挨拶→http://frontendmemo.hatenablog.com/entry/2016/06/25/115845

【JavaScript】配列のアルファベットや数値を昇順・降順にソートする 

スポンサードリンク

アルファベット順にソートする

アルファベット順にソートするのは簡単です。
配列にsortメソッドを使用します。

var x = ['tokyo', 'osaka', 'sendai', 'fukuoka'];
x.sort();
console.log(x);

See the Pen yMwWVd by funclur (@funclur) on CodePen.


数値順にソートする

sortメソッドでソートできるのは、アルファベット、ひらがな、カタカナ、数値です。コンピューターは漢字の読み方がわからないので、漢字はソートできないのです。
漢字をソートする場合読み方もデータが必要になります。

また数値も2ケタ、3ケタで評価されません。例えば

var x = [3, 153, 45, 7];
をソートした場合、
[153, 3, 45, 7]となります。

これは先頭文字を比較し、先頭文字が同一であれば2文字目で比較するという処理の特性です。

2ケタ以上の場合

2ケタ以上の場合どうするかですが、sortメソッドにコールバック関数を与えます。

See the Pen oZVRPo by funclur (@funclur) on CodePen.

aとbを比較しbが大きければ-1、aが大きければ1を、同じ値であれば0を返します。

降順

降順は返す値(1, -1)を逆にすれば、結果が得られます。

reverseメソッド

配列の順番を逆にするメソッドが.reverse()です。
配列.reverse()で配列順序が逆になるので便利ですね。