Arrays 如何在哈希中找到键以映射到与条件匹配的元素?
我有一个将整数映射到数组的散列。比如说Arrays 如何在哈希中找到键以映射到与条件匹配的元素?,arrays,ruby,hash,Arrays,Ruby,Hash,我有一个将整数映射到数组的散列。比如说 {1 => ["abc"], 2 => ["ccc", "ddd"]} 如何从哈希表中获取包含至少2个元素的数组的所有键?类似的内容吗 hash.each_key.select { |key| hash[key].count >= 2 } 像这样的吗 hash.each_key.select { |key| hash[key].count >= 2 } 还有一个可能的解决方案:) 还有一个可能的解决方案:) 这个答案似乎更灵活
{1 => ["abc"], 2 => ["ccc", "ddd"]}
如何从哈希表中获取包含至少2个元素的数组的所有键?类似的内容吗
hash.each_key.select { |key| hash[key].count >= 2 }
像这样的吗
hash.each_key.select { |key| hash[key].count >= 2 }
还有一个可能的解决方案:)
还有一个可能的解决方案:)
这个答案似乎更灵活,result=hash。选择{| | |,a.length>1}#hash和满足要求的值/对result.keys#键这个答案似乎更灵活,result=hash。选择{| |,a.length>1}#使用满足要求结果的值/对进行散列。键#可以使用
选择
或拒绝
。可以使用选择
或拒绝
。
{1 => ["abc"], 2 => ["ccc", "ddd"]}.map { |k, v| k if v.size > 1 }.compact
# => [2]