ruby – 如果在散列中给出多个其他值,如何在散列数组中查找并返回散列值

前端之家收集整理的这篇文章主要介绍了ruby – 如果在散列中给出多个其他值,如何在散列数组中查找并返回散列值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这个哈希数组:
results = [
   {"day"=>"2012-08-15","name"=>"John","calls"=>"5"},{"day"=>"2012-08-15","name"=>"Bill","calls"=>"8"},{"day"=>"2012-08-16","calls"=>"11"},]

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

在阅读“Ruby easy search for key-value pair in an array of hashes”的答案后,我认为可能涉及扩展以下查找声明:

results.find { |h| h['day'] == '2012-08-15' }['calls']

解决方法

你走在正确的轨道上!
results.find {|i| i["day"] == "2012-08-15" and i["name"] == "Bill"}["calls"]
# => "8"

猜你在找的Ruby相关文章