在 Ruby 中合并数组的惯用方式?
Idiomatic way of merging arrays in Ruby?
鉴于我有两个如下所示的数组:
array1 = [
[1, 2],
[3, 4],
]
array2 = [:a, :b]
将它们组合成新数组的最佳方法是什么,如下所示:
[
[1, 2, :a],
[3, 4, :b],
]
我希望有一种方法可以做到这一点,而无需遍历其中一个数组并使用它的索引从另一个数组中获取元素...是否有更好的方法 ruby?
试试这个:
array1.zip(array2).map(&:flatten) #=> [[1, 2, :a], [3, 4, :b]]
(array1.transpose+[array2]).transpose
#=> [[1, 2, :a], [3, 4, :b]]
鉴于我有两个如下所示的数组:
array1 = [
[1, 2],
[3, 4],
]
array2 = [:a, :b]
将它们组合成新数组的最佳方法是什么,如下所示:
[
[1, 2, :a],
[3, 4, :b],
]
我希望有一种方法可以做到这一点,而无需遍历其中一个数组并使用它的索引从另一个数组中获取元素...是否有更好的方法 ruby?
试试这个:
array1.zip(array2).map(&:flatten) #=> [[1, 2, :a], [3, 4, :b]]
(array1.transpose+[array2]).transpose
#=> [[1, 2, :a], [3, 4, :b]]