本文介绍了在哈希数组中添加相同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的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-12 14:59