rub*_*nce 3 ruby ruby-on-rails max
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}
Run Code Online (Sandbox Code Playgroud)
因此,它将返回单个最大值(我认为是第一个),即使有2个项具有相同的最大值.我想实现一个函数,在这种情况下给出两个项目.是否有其他变体max_by或者我需要从头开始为此编写?
array = [
{:a => 1, :b => 2, :c => 3},
{:a => 3, :b => 2, :c => 4},
{:a => 3, :b => 1, :c => 4}
]
array.group_by{|el| el[:b]}.max.last
#=>[{:a=>1, :b=>2, :c=>3}, {:a=>3, :b=>2, :c=>4}]
Run Code Online (Sandbox Code Playgroud)
group_by 工作有点太难了,但它确实提供了.
| 归档时间: |
|
| 查看次数: |
1936 次 |
| 最近记录: |