1

私はこれらの配列の配列を持っています:

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

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

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

すべての配列のすべての要素を最初の配列にプッシュしたいので、出力は次のようになります。

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

2 に答える 2

4

最初flattenに各配列で実行して、1 次元配列を取得します。次に、zipそれぞれが3要素を持つ2次元配列を取得するために使用します

array0.flatten.zip(array1.flatten, array2.flatten)

同じことを行うより短い方法:(@Ivaylo Strandjevによる解決策)

array0.zip(array1, array2).map(&:flatten)
于 2013-02-07T12:21:39.413 に答える
2

これを試して:

 array0.zip(array1).zip(array2).map(&:flatten)

また、あなたは単一でそれを行うことができますzip

 array0.zip(array1, array2).map(&:flatten)
于 2013-02-07T12:16:25.060 に答える