Ruby Hash - 按值和打印键排序

San*_*ups 3 ruby arrays sorting hash

这是我的哈希.

=> {"f11"=>1, "f12"=>3, "f13"=>3, "f07"=>5, "f10"=>1}
Run Code Online (Sandbox Code Playgroud)

我想按从最大到最小的值排序,然后从键中创建一个数组.

=> ["f07", "f12", "f13", "f11", "f10"]
Run Code Online (Sandbox Code Playgroud)

Xav*_*olt 6

这是给你的单行(我爱红宝石!):

h.keys.sort {|a, b| h[b] <=> h[a]}
Run Code Online (Sandbox Code Playgroud)

希望有所帮助!