【发布时间】:2018-04-09 06:22:28
【问题描述】:
我试图在一个数组中找到几个哈希的平均值,如下所示:
[{"path"=>"/abcd.com", "time"=>0.503},
{"path"=>"/abcd.com", "time"=>0.765},
{"path"=>"/abcd.com", "time"=>0.553}]
数组是按路径分组的,我想找出加载这条路径的平均时间。
这是我目前所拥有的:
averages = grouped_data.each do |array|
array.each do |hash|
hash["time"].reduce(:+) \ hash.length
end
end
我认为它不起作用,因为哈希中的时间是浮点数。所以我尝试通过添加总数而不使用reduce来解决这个问题,但total返回0:
averages = grouped_data.each do |array|
total = 0
array.each do |hash|
hash["time"] += total \ hash.length
end
return total
end
感谢您的帮助。谢谢!
【问题讨论】:
-
(1) 反斜杠在那里做什么?
total \ hash.length。 (2) 您的哈希仅包含一个条目。因此,hash.length将始终为 1。