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