ruby – 加入哈希单行中的常用键

前端之家收集整理的这篇文章主要介绍了ruby – 加入哈希单行中的常用键前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这对数组:
[{"a"=>"1"},{"b"=>"2"},{"a"=>"3"},{"b"=>"4"},{"a"=>"5"}]

我想要一种方法将多个值共同的键合并到:

[{"a"=>["1","3","5"]},{"b"=>["2","4"]}]

解决方法

改进了Marc-Andre的建议.
array = [{"a"=>"1"},{"a"=>"5"}]
array.group_by(&:keys).map{|k,v| {k.first => v.flat_map(&:values)}}

要么

array.group_by{|h| h.keys.first}.each_value{|a| a.map!{|h| h.values.first}}

猜你在找的Ruby相关文章