使用ruby查找数组中的项目的哈希值

时间:2012-08-08 14:07:05

标签: ruby arrays hash

很抱歉因为我的错误而误解了我没有检查项目类...

我有一个数组:

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:经过修改的数据......对不起有误。

2 个答案:

答案 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]是需求对,那么您需要确定哪个部分是要执行某项操作的项目:名称或链接。