我有一个哈希conditions:
{"age" => "52", "First_Name" => "Bat"}
Run Code Online (Sandbox Code Playgroud)
我有一系列person哈希:
[{"id"=>"1", "First_Name"=>"John", "Last_Name"=>"Doe", "Age"=>"27"}, {"id"=>"2", "First_Name"=>"Jane", "Last_Name"=>"Doe", "Age"=>"26"}, {"id"=>"3", "First_Name"=>"Bat", "Last_Name"=>"Man", "Age"=>"52"}, {"id"=>"4", "First_Name"=>"Bat", "Last_Name"=>"Woman", "Age"=>"51"}]
Run Code Online (Sandbox Code Playgroud)
如何获得person匹配的所有哈希值conditions?(在这种情况下,它应该只返回"蝙蝠侠"哈希.)
Ale*_*x D 10
如果你想得到所有匹配的人conditions:
people.select do |person|
conditions.all? { |k,v| person[k] == v }
end
Run Code Online (Sandbox Code Playgroud)
或者,如果你确定只有一个(感谢@tokland):
people.detect do |person|
conditions.all? { |k,v| person[k] == v }
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
118 次 |
| 最近记录: |