通过第一个元素合并嵌套数组和常规数组

时间:2017-11-28 19:37:07

标签: arrays ruby

我正在尝试将常规数组数组合并到嵌套数组中,以便嵌套数组中行的给定元素替换为常规数组中的每个元素,但不能将逻辑编译为方法,例如:

a1 = [[0,0], [0,0], [0,0]]

a2 = [1,1,1]

=> [[1, 0], [1, 0], [1, 0]] or [[0, 1], [0, 1], [0, 1]]

到目前为止,我有:

 a1[0][0, a2[0]] = a2[0]
 a1[1][0, a2[1]] = a2[1]
 a1[2][0, a2[1]] = a2[2]

它提供了所需的结果,但这需要包含在一个方法中,以便可以使用任何数组大小。

1 个答案:

答案 0 :(得分:2)

您可以使用mapfirstlast,具体取决于您要获取的a1中的哪个元素)和zip

a1.map(&:first).zip(a2)
# => [[0, 1], [0, 1], [0, 1]]

Demonstration