Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何在哈希中找到键以映射到与条件匹配的元素?_Arrays_Ruby_Hash - Fatal编程技术网

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]