检查红宝石哈希值是否包含大于x的值

Bra*_*o__ 2 ruby hash

我有一个InfluxDB查询返回的以下对象,并且我希望能够检查任何导数是否等于或大于100,如果是,则进行处理。

我一直在尝试使用select来检查该字段,但是我实际上并不真正理解如何使用这样的数据结构。我将如何遍历返回的对象中的每个派生值?

在枚举文档中,我并没有真正看到与我的案例类似的示例。 https://ruby-doc.org/core-2.4.0/Enumerable.html

 [{
   "name" => "powerdns_value", 
             "tags" => nil,
             "values" => [
               { "time" => "2017-03-21T14:20:00Z", "derivative" => 1}, 
               { "time" => "2017-03-21T14:30:00Z", "derivative" => 900}, 
               { "time" => "2017-03-21T14:40:00Z", "derivative" => 0},  
               { "time" => "2017-03-21T15:20:00Z", "derivative" => 0}
             ]
}]
Run Code Online (Sandbox Code Playgroud)

Urs*_*sus 5

如果您只想知道数组中的哈希值之一是否满足条件

arr.first['values'].any? { |hash| hash['derivative'] >= 100 }
Run Code Online (Sandbox Code Playgroud)