2014-09-27 43 views
0

我有以下类型的数组集团二维数组

[[y,x], [y,w], [m,e], [m,t],[a,b]] 

的我将如何把它转化为

[[y, [x,w]], [m, [e,t]], [a,[b]] 

基本分组通过自己的第1个要素

回答

1

所有阵列使用Enumerable#group_by

a = [['y','x'], ['y','w'], ['m','e'], ['m','t'],['a','b']] 
a.group_by(&:first).map { |c, xs| [c, xs.map(&:last)] } 
# => [["y", ["x", "w"]], ["m", ["e", "t"]], ["a", ["b"]]] 
+0

感谢您的快速回答! – 2014-09-27 10:23:23