【Rails】ハッシュを並び替える

ハッシュを並び替える。

基本、sortメソッドを使用する。

使い方

ハッシュのキーをソートするとき

hash.sort

※降順の場合は

hash.sort.reverse

と、後ろにreverseを付ける。

ハッシュの値でソートするとき

hash.sort_by{ | k, v | v }

sort_byを使う。

kがキーで、vが値として、vでソートするという意味。

※これも降順の場合は後ろにreverseを付ける。

hash.sort_by{ | k, v | v }.reverse

注意点

ソートするとき、対象の値は型は同じでなくてはいけない。

例えば

hash = {
    "title" => nil,
    "author" => "tanaka",
    "publisher" => "abc"
}

のようにnilが含まれているとエラーを吐く。