我有一个哈希:{"spider" => 213, "frog" => 128, "apple" => 812}.
如何重新排序,以便按降序对值进行排序而不将其转换为数组?因此,将其更改为{"apple" => 812, "spider" => 213, "frog" => 128}不进入数组.
我试过了.sort_by,但是把它转换成了一个数组.
在Ruby 1.9中," Hashes按照插入相应键的顺序枚举它们的值 ",所以只需确保以正确的方式插入它们:
Hash[h.sort_by { |_, v| -v }]
#=> > {"apple"=>812, "spider"=>213, "frog"=>128}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1067 次 |
| 最近记录: |