在ruby中排序哈希数组

时间:2014-02-07 14:55:31

标签: ruby arrays sorting hash

我有一个像这样的哈希数组:

[{683=>5}, {689=>2}, {692=>10}]

我想要这样的结果:

[{692=>10}, {683=>5}, {689=>2}]

有人可以帮助我吗?

1 个答案:

答案 0 :(得分:4)

使用Enumerable#sort_by。块的返回值用作比较键。

[{683=>5}, {689=>2}, {692=>10}].sort_by { |h| -h.values[0] }
# => [{692=>10}, {683=>5}, {689=>2}]