2015-02-10 61 views
1

鑑於我有兩個數組看起來像這樣的:在Ruby中合併數組的習慣性方式?

array1 = [ 
    [1, 2], 
    [3, 4], 
] 

array2 = [:a, :b] 

什麼是它們合併成一個新的數組,看起來像最好的辦法:

[ 
    [1, 2, :a], 
    [3, 4, :b], 
] 

我希望有一種方法可以做到這沒有迭代其中一個數組,並使用它的索引來從另一個數組中獲取一個元素......是否有更好的ruby方法?

回答

6

試試這個:

array1.zip(array2).map(&:flatten) #=> [[1, 2, :a], [3, 4, :b]] 
0
(array1.transpose+[array2]).transpose 
    #=> [[1, 2, :a], [3, 4, :b]]