2017-01-31 29 views
0

は、私はいくつかの他に読んで思ったSO投稿これはRubyでハッシュの最大値を取得するにはどうすればよいですか?値がすべて数値でハッシュを考えると

hash.max_by{|k,v| v} 

によって行われていたが、これは私が望んでいない配列を返します。私はハッシュの中で最大の価値を求めています。

+1

「hash.max_by {| k、v | v} .to_h'。注: '#to_h'は上記バージョンのRuby 2.xでのみ動作します。 Ruby 1.9以下の場合: 'Hash [hash.max_by {| k、v | v}] '。 – Surya

答えて

5

Iは、ハッシュのvaluesmax方法を使用する:

{a: 1, b: 2}.values.max 
1
hash.max_by(&:last).last 

は、アレイを通る単一パスを作ります。対照的に、@ Bustikillerのコードは2つのパスを作るが、私はそれがまだ上記よりも速いと思う。

関連する問題