这个问题可能有一个非常简单的答案,但我现在怎么也想不出来。如果我有一个特定类型对象的ruby数组,它们都有一个特定的字段,我如何找到数组中那个字段值最大的元素?
array.max_by do |element|
element.field
end
或:
array.max_by(&:field)
这有帮助吗?
my_array.max {|a,b| a.attr <=> b.attr }
(我假设您的字段名称为attr
)
您也可以对数组进行排序,然后获得最大值,最小值,第二大值等
array = array.sort_by {|k,v| v}.reverse
puts hash[0]["key"]