很抱歉因为我的错误而误解了我没有检查项目类...
我有一个数组:
array = [link1, link2, link3, link4, etc]
和array_of_hashes有两个项目:名称和链接
hash = [ :names, :links ] e.g. array_of_hashes = [{ :names => name1, :links => link1}, {:names = name2, :links => link2}, ... ]
我想对array_of_hashes中的每对项目做一些事情,其中包括数组中的链接。
UPD:经过修改的数据......对不起有误。
答案 0 :(得分:0)
枚举哈希数组并搜索链接数组。
array = [:link1, :link2, :link3]
array_of_hashes = [{ :names => :name1, :links => :no_link}, {:names => :name2, :links => :link2}]
array_of_hashes.each do |hash|
if array.any? {|s| s==hash[:links]}
puts "Do something with #{hash[:names].to_s}"
end
end
答案 1 :(得分:0)
这个问题有点模糊,但这里有一个镜头。
您将需要重新排序您尝试从哈希中访问的内容,除非:名称是必需的。
arr = ["link0", "link1",..."linkN"]
hsh = { "link0", item0, "link1", item1, "link1", item2,..."linkN", itemN}
hsh.each_pair | link, item |
do_something_foo(item) if arr.include?(link) # do_something_foo is a predefined function
end
jagga99写道
我想对哈希中包含来自数组的链接的每个项目做一些事情。非常感谢你的帮助。
如果[:name,:link]是需求对,那么您需要确定哪个部分是要执行某项操作的项目:名称或链接。