[英]How to add hash value inside the hash and that contain in array in Ruby?
所以我有一个包含多个哈希的数组,例如:
[{"name"=>"a", "agg_value"=>"75.000000"}, {"name"=>"b", "agg_value"=>"25.000000"}, {"name"=>"a", "agg_value"=>"75.01000"}]
我想使用 ruby 进行如下转换:
[{"name"=>"a", "agg_value"=>"150.000000"}, {"name"=>"b", "agg_value"=>"25.000000"}]
如果小数点不重要,你可以尝试这样的事情:
array = [{"name"=>"a", "agg_value"=>"75.000000"}, {"name"=>"b", "agg_value"=>"25.000000"}, {"name"=>"a", "agg_value"=>"75.01000"}]
array
.group_by { |e| e['name'] }
.map do |k, v|
{
'name' => k,
'agg_value' => v.sum { |e| e['agg_value'].to_f }.to_s
}
end
如果你想要 6 位小数,那么 go 为:
array
.group_by { |e| e['name'] }
.map do |k, v|
{
'name' => k,
'agg_value' => '%.6f' % v.sum { |e| e['agg_value'].to_f }
}
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.