如何在哈希中找到键以映射到符合条件的元素?
我有一个将整数映射到数组的哈希。 例如
{1 => ["abc"], 2 => ["ccc", "ddd"]}
如何从散列中获取具有至少包含2个元素的数组的所有键?
{1 => ["abc"], 2 => ["ccc", "ddd"]}.select{|_, a| a.length > 1}.keys # => [2]
有这样的吗?
hash.each_key.select { |key| hash[key].count >= 2 }
一个可能的解决方案:)
{1 => ["abc"], 2 => ["ccc", "ddd"]}.map { |k, v| k if v.size > 1 }.compact # => [2]