0

以下の形式のハッシュマップがあります。

{1=>[a, b, 3], 2=>[a, c, 5], 3=>[a, d, 1], 4=>[a, e, 4], 5=>[f, g, 2]}...

各キーと値のペアの 3 番目の値の最小数が必要ですが、同じ最初の値のグループ内にあります。たとえば、上記のハッシュマップでは、最初の値が「a」である 4 つのキーと値のペアがあります。最初の値が「a」である 3 番目の値の最小値、つまり 1 を取得する必要があります。

を試してみたところhash.min_by{|k, v|, v[2]}、明らかにマップ内の最小値が得られました。「a」のグループで最小値を取得するにはどうすればよいですか?

4

3 に答える 3

2
hash.values.select {|a| a[0] == 'a'}.map {|a| a[2]}.min
于 2013-05-23T01:02:38.933 に答える