在一系列哈希中获取最大的哈希

时间:2018-09-25 15:03:17

标签: ruby sorting

我所拥有的:一系列大小不同的哈希。

hashes = [{:a => 0}, {:a => 0, :b => 1}, {:b => 1}] 

我需要什么:我只需要最大的物品。

{:a => 0, :b => 1}

这是正确的方法还是效率低下?

hashes.sort_by { |h| h.length }.last

还有其他想法吗?谢谢!

1 个答案:

答案 0 :(得分:5)

您的解决方案效果很好,但是您也可以使用max_by,它似乎更有效:

hashes.max_by(&:length)
#=> {:a=>0, :b=>1}