如何使用相同的键对哈希数组内的值求和

Nit*_*esh -1 ruby hash

我想总结相同键的值,如

arr = [{"69120090" => [1, 2, 3]}, {"69120090" => [4, 5, 6]}]
Run Code Online (Sandbox Code Playgroud)

我需要导致:

result = [{"69120090" => [5, 7, 9]}]
Run Code Online (Sandbox Code Playgroud)

Ale*_*kin 7

减少Hash#merge!一个块:

arr = [{"69120090"=> [1, 2, 3] }, {"69120090"=> [4, 5, 6] }]
arr.each_with_object({}) do |h, acc|
  acc.merge!(h) { |_, v1, v2| v1.zip(v2).map(&:sum) }
end
#? {"69120090"=>[5, 7, 9]}
Run Code Online (Sandbox Code Playgroud)

上面接受任意数量的散列,每个散列具有任意数量的键.