本文介绍了在哈希数组中添加相同Key的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
尝试添加相同键的值,但要对其进行迭代.这是我的数组
Trying to add values of same key but with iterating it. here is my array
arr = [ {a: 10, b: 5, c: 2}, {a: 5, c: 3}, { b: 15, c: 4}, {a: 2}, {} ]
想要像这样转换
{a: 17, b: 20, c: 9}
推荐答案
这是通过使用 Enumerable#reduce
和 Hash#merge
:
Here is one way to do this by making use of Enumerable#reduce
and Hash#merge
:
arr.reduce {|acc, h| acc.merge(h) {|_,v1,v2| v1 + v2 }}
#=> {:a=>17, :b=>20, :c=>9}
这篇关于在哈希数组中添加相同Key的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!