私はこれらの配列の配列を持っています:
array0 = [["1"], ["2"], ["3"],…]
array1 = [["a"], ["b"], ["c"],…]
array2 = [["pap"], ["pop"], ["pip"],…]
すべての配列のすべての要素を最初の配列にプッシュしたいので、出力は次のようになります。
output = [["1", "a", "pap"], ["2", "b", "pop"], ["3", "c" ,"pip"]]
私はこれらの配列の配列を持っています:
array0 = [["1"], ["2"], ["3"],…]
array1 = [["a"], ["b"], ["c"],…]
array2 = [["pap"], ["pop"], ["pip"],…]
すべての配列のすべての要素を最初の配列にプッシュしたいので、出力は次のようになります。
output = [["1", "a", "pap"], ["2", "b", "pop"], ["3", "c" ,"pip"]]
最初flatten
に各配列で実行して、1 次元配列を取得します。次に、zip
それぞれが3要素を持つ2次元配列を取得するために使用します
array0.flatten.zip(array1.flatten, array2.flatten)
同じことを行うより短い方法:(@Ivaylo Strandjevによる解決策)
array0.zip(array1, array2).map(&:flatten)
これを試して:
array0.zip(array1).zip(array2).map(&:flatten)
また、あなたは単一でそれを行うことができますzip
:
array0.zip(array1, array2).map(&:flatten)