使用ruby根据数组的第一个元素组合数组值
假设我有以下代码:使用ruby根据数组的第一个元素组合数组值,ruby,arrays,Ruby,Arrays,假设我有以下代码: arr = [["a",1],["a",2],["b",1],["b",2]] 我想合并应该 arr1 = [["a",1,2],["b",1,2]] 提前感谢使用: 你的问题是什么?或者更简单:arr.group_by(&:first).map{k,vs.[k,*vs.map(&:last)]}@muistooshort,谢谢你的评论。我根据您的说法更新了答案。@falsetru我的数组“a=[[“2014年9月8日”,“1”],[“2014年9月8日”,“2”],[“
arr = [["a",1],["a",2],["b",1],["b",2]]
我想合并应该
arr1 = [["a",1,2],["b",1,2]]
提前感谢使用:
你的问题是什么?或者更简单:
arr.group_by(&:first).map{k,vs.[k,*vs.map(&:last)]}
@muistooshort,谢谢你的评论。我根据您的说法更新了答案。@falsetru我的数组“a=[[“2014年9月8日”,“1”],[“2014年9月8日”,“2”],[“2014年9月15日”,“2”],[“2014年9月15日”,“2”],[“2”]]a.groupu by(&:first)。map{124; key,value,*value.map(&:last)]}输出:{@SaiVardhan是最后一个元素[“2014年9月15日”,“2”]
中的日期,与其他元素不同,它在日期和年份之间没有空格。
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]]