从具有更多值的哈希返回键

时间:2016-10-13 18:37:33

标签: ruby

我有以下哈希

{"june"=>["sarah"], "sarah"=>["tom", "simon"], "tom"=>["claudiu"]}

我需要一种方法来返回其数组中大多数值的键。有任何建议或帮助吗?

2 个答案:

答案 0 :(得分:4)

如果值始终可以响应size消息

h.max_by { |key, value| value.size }
 => ["sarah", ["tom", "simon"]] 

答案 1 :(得分:1)

您可以使用max_by方法:

a = {"june"=>["sarah"], "sarah"=>["tom", "simon"], "tom"=>["claudiu"]}
a.max_by { |d| d[1].count }[0]
#=> "sarah"