我有这些数组数组:
array0 = [["1"], ["2"], ["3"],…]
array1 = [["a"], ["b"], ["c"],…]
array2 = [["pap"], ["pop"], ["pip"],…]
我想将每个数组中的每个元素推送到第一个数组,因此输出应为:
output = [["1", "a", "pap"], ["2", "b", "pop"], ["3", "c" ,"pip"]]
答案 0 :(得分:3)
首先在每个数组上执行flatten
以获取单维数组。然后使用zip
获取每个具有3个元素的二维数组
array0.flatten.zip(array1.flatten, array2.flatten)
更短的做法:(由@Ivaylo Strandjev提供的解决方案)
array0.zip(array1, array2).map(&:flatten)
答案 1 :(得分:2)
试试这个:
array0.zip(array1).zip(array2).map(&:flatten)
你也可以使用一个zip
:
array0.zip(array1, array2).map(&:flatten)