我需要转换这个数组:
[{a: 1, b: 1}, {a: 1, b: 2}, {a: 2, b: 5}]
成:
[{a: 1, b: "1, 2"}, {a: 2, b: 5}]
任何简单的功能?
答案 0 :(得分:7)
[{a: 1, b: 1}, {a: 1, b: 2}, {a: 2, b: 5}]
.group_by{|h| h[:a]}
.map{|a, h| {a: a, b: h.map{|h| h[:b]}.join(", ")}}
# => [{:a=>1, :b=>"1, 2"}, {:a=>2, :b=>"5"}]