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



这个问题可能有一个非常简单的答案,但我现在怎么也想不出来。如果我有一个特定类型对象的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"]

最新更新