以下数组包含两个数组,每个数组有5个整数值:
[[1,2,3,4,5],[6,7,8,9,10]]
Run Code Online (Sandbox Code Playgroud)
我希望以这样的方式组合它们,即它通过组合索引0,1 ..到4的两个数组的值来生成五个不同的数组.
输出应该是这样的:
[[1,6],[2,7],[3,8],[4,9],[5,10]]
Run Code Online (Sandbox Code Playgroud)
有没有最简单的方法呢?
transpose方法怎么样?
a = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
#=> [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
a.transpose
#=> [[1, 6], [2, 7], [3, 8], [4, 9], [5, 10]]
Run Code Online (Sandbox Code Playgroud)
这个方法也可以在将来帮助你,例如:
a = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]]
#=> [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10], [11, 12, 13, 14, 15]]
a.transpose
#=> [[1, 6, 11], [2, 7, 12], [3, 8, 13], [4, 9, 14], [5, 10, 15]]
Run Code Online (Sandbox Code Playgroud)
a = [[1, 2, 3, 4, 5], [6, 7, 8, 9, 10]]
a.first.zip(a.last)
Run Code Online (Sandbox Code Playgroud)