在Ruby中合并数组的惯用方法?

时间:2015-02-10 21:11:05

标签: ruby loops

鉴于我有两个看起来像这样的数组:

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

array2 = [:a, :b]

将它们组合成一个看起来像的新数组的最佳方法是什么:

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

我希望有一种方法可以做到这一点,而无需迭代其中一个数组并使用它的索引从另一个数组中获取元素......是否有更好的红宝石方式?

2 个答案:

答案 0 :(得分:6)

试试这个:

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

答案 1 :(得分:0)

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