Ruby Hash:根据值(值为数组)排序哈希值

Gav*_*vin 3 ruby arrays hash

我希望根据哈希值的重新排序返回一个新的哈希值.值本身就是整数数组.

例如:

hsh = {"c2" => [44,2], "c1" => [11,33], "c9" => [23,7]}
Run Code Online (Sandbox Code Playgroud)

我希望能够根据值中的值0或值1返回重新排序的哈希值.

这里的任何帮助都非常感谢 - 谢谢大家.

saw*_*awa 5

从问题的性质来看,我认为这是针对ruby 1.9的.

p Hash[hsh.sort_by{|k, v| v[0]}]
# => {"c1"=>[11, 33], "c9"=>[23, 7], "c2"=>[44, 2]}

p Hash[hsh.sort_by{|k, v| v[1]}]
# => {"c2"=>[44, 2], "c9"=>[23, 7], "c1"=>[11, 33]}
Run Code Online (Sandbox Code Playgroud)