查找具有特定属性的最大值的Ruby数组元素

这个问题可能有一个非常简单的答案,但是现在我不能为了我的生活而弄清楚。 如果我有一个特定types的对象的ruby数组,他们都有一个特定的领域,我如何find该数组的元素具有该领域的最大值?

array.max_by do |element| element.field end 

要么:

 array.max_by(&:field) 

这有帮助吗?

 my_array.max {|a,b| a.attr <=> b.attr } 

(我假设你的领域有名字attr

你也可以对数组sorting,然后得到最大值,最小值,第二大值等。

 array = array.sort_by {|k,v| v}.reverse puts hash[0]["key"]