配列の中のハッシュをidごとに値を合計した上で一つにまとめたい
以下の処理をruby
で行いたいのですが、やり方がわからず困っています。
複数の[]
から{}
を取り出し、ひとつの[]
に格納する。ただし、同じid
をもつ{}
はnum
を合計して一つにまとめる。
data1 = [{
'id' => 1,
'num' => 1
},{
'id' => 2,
'num' => 3
},{
'id' => 3,
'num' => 5
}]
data2 = [{
'id' => 1,
'num' => 2
},{
'id' => 3,
'num' => 4
}]
data3 = [{
'id' => 1,
'num' => 2
},{
'id' => 4,
'num' => 4
}]
↓
[{
'id' => 1,
'num' => 5
},{
'id' => 2,
'num' => 3
},{
'id' => 3,
'num' => 9
},{
'id' => 4,
'num' => 4
}]