[Ruby]ハッシュ(Hash)を反転して逆順に並び替えるには?

Ruby

どうも、ちょげ(@chogetarou)です。

ハッシュ(Hash)を反転して逆順に並び替える方法を紹介します。

スポンサーリンク

方法

ハッシュ(Hash)を反転して逆順に並び替えるには、to_aメソッドとreverseメソッドを使います。

まず、Hash[]を記述します。

そして、[]内で、ハッシュからto_aメソッド、to_aメソッドからreverseメソッドを呼び出します。

#h=対象のハッシュ
result = Hash[h.to_a.reverse]

上記のHash[]は、to_aメソッドを呼び出したハッシュ(Hash)を反転して逆順に並び替えたハッシュを生成します。

使用例

nums = { 
    :one => 1, 
    :two => 2,
    :three => 3,
    :four => 4,
    :five => 5,
}

 result = Hash[nums.to_a.reverse]
 
 p result
出力:
{:five=>5, :four=>4, :three=>3, :two=>2, :one=>1}

コメント

タイトルとURLをコピーしました