2017-10-17 2 views
-3

Voici à quoi ressemble ma bizarre DB. Je veux essayer et trier les hachages imbriqués en fonction de l'âge. J'ai regardé autour de SO et tout ce que je peux trouver est comment trier les hachages à l'intérieur des hachages, mais pas quand les hachages imbriqués sont à l'intérieur d'un tableau. Je suis sûr qu'il y a un moyen facile de changer la structure ou de la trier comme elle est.Essayer de trier un hachage dans un tableau à l'intérieur d'un hachage

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

Merci d'avance! Btw, c'est ma première question ici. Sois doux ^^.

Répondre

0

Essayez celui

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