将数组的每个元素注入到不同的数组中

时间:2014-10-01 10:26:29

标签: ruby

我有两个数组:

array1: [[1, 2], [2, 3]]

array2: ["a", "b", "c"]

我想将这两者结合起来得到以下结果:

[[1, 2, "a"], [1, 2, "b"], [1, 2, "c"], [2, 3, "a"], [2, 3, "b"], [2, 3, "c"]]

2 个答案:

答案 0 :(得分:6)

您可以使用Array#product

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

答案 1 :(得分:1)

Array#product是专门为此而建的,但这是另一种选择:

array2.flat_map { |e| array1.map { |arr| arr+[e] } }