一定是一个简单的问题..但我似乎无法找到答案。 我正在尝试检查哈希中是否存在特定键的值。
hash = {{"name" => "John", "Loc" => "US", "fname" => "John Doe"},
{"name" => "Eve", "Loc" => "UK", "fname" => "John Eve"}}
目前我正在循环哈希,以检查if h["name"] = "John"...
我一直想看看.include
或.has_value?
类型的方法是否可用。我阅读了关于哈希的文档和我手头的书但却找不到它。
我认为像if hash["name"].has_value?("John")
这样的东西比循环哈希最有用。在此先感谢您的帮助!
答案 0 :(得分:6)
首先,我们的哈希值不是有效的哈希值。我想你想要一个像这样的哈希数组:
array = [
{"name" => "John", "Loc" => "US", "fname" => "John Doe"},
{"name" => "Eve", "Loc" => "UK", "fname" => "John Eve"}
]
你可以做这样的事情:
array.select { |hash| hash['name'].include?('John') }
# => returns [{"name" => "John", "Loc" => "US", "fname" => "John Doe"}]
array.any? { |hash| hash['name'].include?('John') }
# => true