这个问题可能有一个非常简单的答案,但我不能为我的生活弄清楚这一点。如果我有一个特定类型对象的ruby数组,并且它们都有一个特定字段,我如何找到该字段的元素具有该字段的最大值?
答案 0 :(得分:134)
array.max_by do |element|
element.field
end
或者:
array.max_by(&:field)
答案 1 :(得分:27)
这有帮助吗?
my_array.max {|a,b| a.attr <=> b.attr }
(我假设您的字段名称为attr
)
答案 2 :(得分:1)
您还可以对数组进行排序,然后获得最大,最小,第二大值等。
array = array.sort_by {|k,v| v}.reverse
puts hash[0]["key"]