将数组的一个元素添加到第二个数组Ruby的许多元素中

时间:2017-09-26 10:26:21

标签: ruby

我想以这种方式添加数组

arr1=[1,2,3,4]
arr2=[4,5,6,7]

添加应该像

arr1[0]+arr2[0]
arr1[0]+arr2[1]
arr1[0]+arr2[2]

等与arr1

的其他第二个和其他元素类似

2 个答案:

答案 0 :(得分:2)

尝试两个数组的映射组合:

p [1,2,3,4].map { |e| [4,5,6,7].map { |f| f + e } }
# => [[5, 6, 7, 8], [6, 7, 8, 9], [7, 8, 9, 10], [8, 9, 10, 11]]

答案 1 :(得分:1)

arr1.product(arr2).map { |a,b| a + b }                                       
 #=> [5, 6, 7, 8, 6, 7, 8, 9, 7, 8, 9, 10, 8, 9, 10, 11]

如果你有Ruby>那么可以使用sum 2.4,否则你可以使用Enumerable#inject

arr1.product(arr2).map { |a| a.sum }

有关详细信息,请参阅Array#productArray#sum