Rubyでハッシュから最初のn個の要素を取得するにはどうすればよいですか?
概要
ハッシュがあり、値を使用してソートしました
@friends_comment_count.sort_by{|k,v| -v}
今、私は上位 5 つの要素のハッシュのみを取得したいのです。 1 つの方法は、カウンターを使用し、その 5 のときにブレークすることです。 Rubyで行う好ましい方法は何ですか?
ありがとう
解決策
h = { 'a' => 10, 'b' => 20, 'c' => 30 }
# get the first two
p Hash[*h.sort_by { |k,v| -v }[0..1].flatten]
編集済み:
# get the first two (more concisely)
p Hash[h.sort_by { |k,v| -v }[0..1]]