Ben*_*zco 7 ruby arrays hash merge join
我有这对数组:
[{"a"=>"1"}, {"b"=>"2"}, {"a"=>"3"}, {"b"=>"4"}, {"a"=>"5"}]
Run Code Online (Sandbox Code Playgroud)
我想要一种方法将多个值共同的键合并到:
[{"a"=>["1","3","5"]}, {"b"=>["2","4"]}]
Run Code Online (Sandbox Code Playgroud)
根据马克-安德烈的建议进行了改进。
array = [{"a"=>"1"}, {"b"=>"2"}, {"a"=>"3"}, {"b"=>"4"}, {"a"=>"5"}]
array.group_by(&:keys).map{|k, v| {k.first => v.flat_map(&:values)}}
Run Code Online (Sandbox Code Playgroud)
或者
array.group_by{|h| h.keys.first}.each_value{|a| a.map!{|h| h.values.first}}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3600 次 |
| 最近记录: |