查找具有特定属性的最大值的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"]