아마도이 질문에 대한 아주 간단한 대답이있을 것입니다. 그러나 저는 지금 당장 제 삶에서 그것을 알아낼 수 없습니다. 특정 유형의 객체에 대한 루비 배열이 있고 모두 특정 필드가있는 경우 해당 필드에 대해 가장 큰 값을 가진 배열 요소를 어떻게 찾습니까?
답변
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"]