我有一系列哈希设置如下: 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.