我有一个数组,它是结构这样的:集团在数组键,得到最大值和平均值
{"status": "ok", "data": [{"temp": 22, "wind": 351.0, "datetime": "20160815-0330"}, {"temp": 21, "wind": 321.0, "datetime": "20160815-0345"}]}
我期待组由datetime
键(忽略时间),发现最大temp
和平均wind
。
我试过的东西如下,但不确定该怎么办max_by平均在同一地图:
@data['data'].group_by { |d| d.values_at("datetime") }.map { |_, v| v.max_by { |h| h["temp"] } }
很好的解释简单的石灰。虽然我得到一个:未定义的方法'group_by'为零:NilClass,错误。 – DollarChills
键应该是字符串还是符号?您提供的示例输入使用了符号,您尝试使用的代码示例使用了字符串。 –
他们是字符串。将键从对象切换到字符串后,我已经从该错误中移除。 – DollarChills