2017-10-17 4 views
-3

これは私の扱いにくいDBがatmのように見えます。私は年齢に基づいて入れ子にされたハッシュを試してソートしたい。私はSOを見回してきましたが、ハッシュの内側にハッシュをソートする方法はありますが、ネストされたハッシュが配列の内側にある場合は見つけられません。確かに、構造を変更したり、それをそのままソートしたりする簡単な方法があります。ハッシュ内の配列内でハッシュをソートしようとしています

{ :room1 => [{ 
    :fred => { :name => "Fred", :age => 23 }, 
    :joan => { :name => "Joan", :age => 18 }, 
    :pete => { :name => "Pete", :age => 54 } 
}], 
:room2 => [{ 
    :jan => { :name => "jan", :age => 2 }, 
    :eric => { :name => "eric", :age => 3 }, 
    :stan => { :name => "stan", :age => 1 } 
}]} 

ありがとうございます! Btw、これは私の最初の質問です。優しいよ^^。

答えて

0

この1

h.each do |k, v| 
    h[k] = v.first.sort_by { |_, person| person[:age] }.to_h 
end 
をお試しください
関連する問題