查找字符串数组项哈希阵列,并与相应的哈希
问题描述:
我有联系的数组进行:查找字符串数组项哈希阵列,并与相应的哈希
array = [link1, link2, link3, link4]和array_of_hashes两个项目:名称和:链接
hash = { :names, :links } e.g. array_of_hashes = [{ :names => name5, :links => link5}, {:names = name1, :links => link1}, ... ]
我想对来自array_of_hashes的每对哈希值(:名称:链接)进行一些操作,其中包括来自原始链接数组的链接。
因此,在最后阶段,我需要找到一对散列(在我的情况如上所列):
{:names => name1, :links => link1}
原因LINK1与链接
UPD阵列中列出:修正后的数据...抱歉误会。感谢你的帮助。
答
如果我正确理解你的问题,这应该做你想做的:
# Cleaned up the setup a little
array_of_hashes = [
{:names => 'name5', :links => 'link5'},
{:names => 'name1', :links => 'link1'},
{:names => 'name9', :links => 'link9'}]
array = ['link5', 'link1']
# This will filter the array
array_of_hashes.select{|x| array.include? x[:links]}
这使输出=> [{:names=>"name1", :links=>"link1"}]
真的不清楚在你想达到什么 - 你试图过滤'array_of_hashes'基于'links'值是否出现在'array'中? – 2012-08-09 07:03:38
是的,我试图从array_of_hashes中为数组中的每个链接查找名称。 – jagga99 2012-08-09 07:09:51
所以,你基本上想要'array_of_hashes'的副本,但只包含* array中存在的链接? – 2012-08-09 07:16:00