【发布时间】:2015-05-10 01:35:03
【问题描述】:
我有一个数组,其中包含具有相同键集的哈希数组。我需要对每个数组的每组键求和,留下一个哈希数组。
array = [
[{"x"=>"Apr, 2014", "price_rate"=>10, "cost_rate"=>10, "profit"=>10},
{"x"=>"May, 2014", "price_rate"=>10, "cost_rate"=>10, "profit"=>10},
{"x"=>"Jun, 2014", "price_rate"=>10, "cost_rate"=>10, "profit"=>10} ],
[{"x"=>"Apr, 2014", "price_rate"=>10, "cost_rate"=>10, "profit"=>10},
{"x"=>"May, 2014", "price_rate"=>10, "cost_rate"=>10, "profit"=>10},
{"x"=>"Jun, 2014", "price_rate"=>10, "cost_rate"=>10, "profit"=>10} ],
[{"x"=>"Apr, 2014", "price_rate"=>10, "cost_rate"=>10, "profit"=>10},
{"x"=>"May, 2014", "price_rate"=>10, "cost_rate"=>10, "profit"=>10},
{"x"=>"Jun, 2014", "price_rate"=>10, "cost_rate"=>10, "profit"=>10} ]
]
这会让我留下
[{"x"=>"Apr, 2014", "price_rate"=>30, "cost_rate"=>30, "profit"=>30},
{"x"=>"May, 2014", "price_rate"=>30, "cost_rate"=>30, "profit"=>30},
{"x"=>"Jun, 2014", "price_rate"=>30, "cost_rate"=>30, "profit"=>30} ]
我尝试将它们展平为一个数组,合并(这似乎永远不会给我预期的结果),然后减少到添加 - 但我无处可去。
有没有简洁的方法来做到这一点?
编辑 另外值得注意的是,每个数组中的哈希数可能会有所不同。该示例适用于一年的四分之一,但生成的解决方案应该足够不可知,以允许与数据集提供的一样多或尽可能少的条目。
【问题讨论】:
标签: ruby-on-rails ruby arrays ruby-on-rails-4 hash