使用ruby基于数组的第一个元素组合数组值

时间:2014-09-26 14:10:34

标签: ruby arrays

我们说我有以下代码:

arr = [["a",1],["a",2],["b",1],["b",2]]

我想合并应该

的数组
arr1 = [["a",1,2],["b",1,2]]

提前致谢

1 个答案:

答案 0 :(得分:2)

使用Enumerable#group_by

arr = [["a",1],["a",2],["b",1],["b",2]]
arr.group_by(&:first).map{ |key, value|
  [key, *value.map(&:last)]
}
# => [["a", 1, 2], ["b", 1, 2]]