Ruby如何排序散列的哈希?

the*_*sis 0 ruby ruby-on-rails

我有那么深的哈希值哈希:

my_hash = { 
    :category_1 => {
        :solution_1 => { :order => 1 },
        :solution_2 => { :order => 2 }
    },
    :category_2 => {
        :solution_3 => { :order => 3 },
        :solution_4 => { :order => 4 }  
    }
}
Run Code Online (Sandbox Code Playgroud)

我想通过键:order在:category_ *哈希下对:solution_ *哈希排序。有什么建议么?

(固定)

小智 5

假设您有以下年龄段的人:

people = {
  :fred => { :name => "Fred", :age => 23 },
  :joan => { :name => "Joan", :age => 18 },
  :pete => { :name => "Pete", :age => 54 }
}
Run Code Online (Sandbox Code Playgroud)

使用sort_by获取我们要去的地方:

people.sort_by { |k, v| v[:age] }
  # => [[:joan, {:name=>"Joan", :age=>18}], 
        [:fred, {:name=>"Fred", :age=>23}],
        [:pete, {:name=>"Pete", :age=>54}]]
Run Code Online (Sandbox Code Playgroud)