2017-10-09 3 views
0

私は整数を配列にマッピングするハッシュを持っています。たとえば、条件に一致する要素にマップするためにハッシュのキーを見つけるにはどうすればよいですか?

{1 => ["abc"], 2 => ["ccc", "ddd"]} 

少なくとも2つの要素を持つ配列を持つすべてのキーをハッシュから取得するにはどうすればよいですか?

+0

あなたは 'SELECT'または' reject'を使用することができます。 –

答えて

2
{1 => ["abc"], 2 => ["ccc", "ddd"]}.select{|_, a| a.length > 1}.keys 
# => [2] 
+1

この回答はより柔軟に見える 結果= hash.select {| _、a | a.length> 1}#要求を満たす値/ペアのハッシュ result.keys#キー – s1mpl3

2

このようなものはありますか?

hash.each_key.select { |key| hash[key].count >= 2 } 
0

もう一つの可能​​な解決策:)

{1 => ["abc"], 2 => ["ccc", "ddd"]}.map { |k, v| k if v.size > 1 }.compact 
# => [2] 
関連する問題