在Ruby中将多维数组的元素推送到另一个数组中

时间:2013-02-07 12:15:27

标签: ruby-on-rails ruby

我有这些数组数组:

array0 = [["1"], ["2"], ["3"],…]

array1 = [["a"], ["b"], ["c"],…]

array2 = [["pap"], ["pop"], ["pip"],…]

我想将每个数组中的每个元素推送到第一个数组,因此输出应为:

output = [["1", "a", "pap"], ["2", "b", "pop"], ["3", "c" ,"pip"]]

2 个答案:

答案 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)