当前位置 : 主页 > 编程语言 > ruby >

arrays – 具有重复键的哈希数组中的平均值

来源:互联网 收集:自由互联 发布时间:2021-06-23
我有一系列哈希设置如下: array = [ {"1" = 1, "2" = 2, "3" =3}, {"1" = 1, "2" = 2, "3" =3}, {"1" = 1, "2" = 2, "3" =3}] 我试图找到一种方法来平均所有哈希的值,例如键“1”. 有人可以帮忙吗? 考虑到Ru
我有一系列哈希设置如下:

array = [
  {"1" => 1, "2" => 2, "3" =>3},
  {"1" => 1, "2" => 2, "3" =>3}, 
  {"1" => 1, "2" => 2, "3" =>3}
]

我试图找到一种方法来平均所有哈希的值,例如键“1”.

有人可以帮忙吗?

考虑到Ruby版本,yield_self(别名)可能会起作用:

[{ "1" => 10, "2" => 2, "3" =>3 },
 { "1" => 43, "2" => 2, "3" =>3 },
 { "1" => 4, "2" => 2, "3" =>3 }].map { |hash| hash.fetch('1', 0) }.then { |arr| arr.sum.fdiv(arr.size) }
# 19.0

其中(10 43 4)/ 3 = 19.0,不是你的例子,而是1 1 1.

网友评论