我有一个哈希,我的项目每个都标有各种代码。
@projects =
{
"Project A" => ["2","4","11"],
"Project B" => ["2","3","4"],
"Project C" => ["2","5","11"]
}
如何搜索附加到特定代码的项目,即输入"4"
,我们获得["Project A","Project B"]
。
我已经尝试过标准值搜索方法,但只有在输入整个数组时才有效,而不是任何数组中的任何元素。
这不是那么重要,但是可以通过多个标签进行搜索,即输入["2","11"]
,我们会得到["Project A","Project C"]
吗?
答案 0 :(得分:3)
尝试:
def search array, elem
array.select{|key, value| value.include? elem}
end
和
def search_many array, *elems
elems.map{|elem| search array, elem}.flatten.uniq
end
答案 1 :(得分:0)
第一部分的解决方案:
code_2s = @projects.collect{|k,v| (v.include? "2") ? k : nil }.compact