2017-10-17 1 views
-3

Das ist, was meine peinliche DB wie ATM aussieht. Ich möchte versuchen, die verschachtelten Hashes nach Alter zu sortieren. Ich habe mich auf SO umgeschaut und alles, was ich finden kann, ist, Hashes innerhalb von Hashes zu sortieren, aber nicht, wenn die verschachtelten Hashes innerhalb eines Arrays liegen. Ich bin sicher, es gibt eine einfache Möglichkeit, entweder die Struktur zu ändern oder sie so zu sortieren, wie es ist.Versuchen, einen Hash innerhalb eines Arrays innerhalb eines Hash zu sortieren

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

Vielen Dank im Voraus! Btw, das ist meine erste Frage hier. Sei sanft ^^.

Antwort

0

Versuchen Sie dieses

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