配列のソート、比較関数いろいろまとめ

このエントリーをはてなブックマークに追加

配列のソートの方法をいろいろまとめておきます

reverse()で配列をソートする

配列変数名.reverse();
reverse()は配列の順序を逆にする事ができます

See the Pen reverse()で配列をソートする by yochans (@yochans) on CodePen.



sort()で配列をソートする

配列変数名.sort();
sort()はそのままでは数字もUnicodeに変換した文字列順にソートされる事に注意ですね
比較関数を指定しないと大文字小文字混合でのアルファベットも、ひらがなも漢字も、なかなか期待した通りのソートにはなりません
また未定義の値は配列の最後に配置されます


sort()で因数に比較関数を指定して配列をソートする

function 関数名(){
//比較する処理
}
配列変数名.sort(関数名);
比較関数というか比較する独自関数ですね

数値で比較して昇順・降順にソートする比較関数



アルファベットで比較して昇順・降順にソートする比較関数

文字列をtoString.toLowerCase()で小文字に変換してからソートする事で大文字小文字を混合してソートできます

See the Pen アルファベットを比較して配列をソートする by yochans (@yochans) on CodePen.



ひらがな・カタカナを比較して昇順・降順にソートする比較関数

文字列をtoString.toLowerCase()で小文字に変換してからソートする事で大文字小文字を混合してソートできます
参考:カタカナをひらがなに変換する JavaScript 関数(github)


漢字を比較してソートする

漢字をカタカナ・ひらがなに変換できるAPIを使えばなんとか可能そうですね
Yahoo!かな漢字変換API
ひらがな化API(gooラボ)