Ruby имеет Enumerable#max
и Enumerable#max_by
, и я использую max_by
следующим образом.
array = [
{:a => 1, :b => 2, :c => 3},
{:a => 3, :b => 2, :c => 4},
{:a => 3, :b => 1, :c => 4}
]
max_item = array.max_by { |item| item[:b] }
=> {:b=>2, :c=>3, :a=>1}
Итак, он вернет один максимум (я думаю, во-первых), даже если есть2 предмета с одинаковым максимальным значением.Я хочу реализовать функцию, которая дает оба элемента в таких случаях.Есть какой-то другой вариант max_by
или мне для этого нужно написать с нуля?