从哈希数组中的字符串数组中查找项目,然后继续使用适当的哈希



我有一个链接数组:

数组 = [link1, link2, link3, link4]
和array_of_hashes包含两个项目::名称和:链接
哈希 = { :名称, :链接 } 例如array_of_hashes = [
{ :名称 => 名称5, :链接 => 链接5}, {:名称 = 名称 1, :链接 => 链接 1}, ... ]

我想对array_of_hashes中的每对哈希(:names :links)做一些事情,其中包括来自原始链接数组的链接。

因此,在最后阶段,我需要找到一对哈希(在上面列出的情况下):

{:名称 => 名称1, :链接 => 链接 1}

原因链接 1 列在带有链接的数组中

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"}]

最新更新