如何在哈希中给定多个其他值,在哈希数组中查找并返回哈希值

s2t*_*2t2 7 ruby arrays hash

我有这个哈希数组:

results = [
   {"day"=>"2012-08-15", "name"=>"John", "calls"=>"5"},
   {"day"=>"2012-08-15", "name"=>"Bill", "calls"=>"8"},
   {"day"=>"2012-08-16", "name"=>"Bill", "calls"=>"11"},
]
Run Code Online (Sandbox Code Playgroud)

如何搜索结果以查找Bill在15日拨打了多少电话?

在阅读了" Ruby在一系列哈希中轻松搜索键值对"的答案后,我认为它可能涉及扩展以下查找语句:

results.find { |h| h['day'] == '2012-08-15' }['calls']
Run Code Online (Sandbox Code Playgroud)

ARu*_*n32 15

你走在正确的轨道上!

results.find {|i| i["day"] == "2012-08-15" and i["name"] == "Bill"}["calls"]
# => "8"
Run Code Online (Sandbox Code Playgroud)

  • @ s2t2你也可以使用`&&`instad if`和` (4认同)