2017-10-17 6 views
-3

이것은 내 어색한 DB가 atm처럼 보이는 것입니다. 나이를 기준으로 중첩 해시를 정렬하고 정렬하려고합니다. 그래서 주위를 둘러 보았습니다 그리고 내가 찾을 수있는 모든 해시 안에 해시를 정렬하는 방법이지만 중첩 된 해시가 배열 안에있을 때 아닙니다. 분명히 구조를 바꾸거나 그것이 그대로 정렬 할 수있는 쉬운 방법이 있습니다.해시 내의 배열 내에서 해시를 정렬하려고합니다.

{ :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

이 하나

h.each do |k, v| 
    h[k] = v.first.sort_by { |_, person| person[:age] }.to_h 
end 
시도