Arrays Ruby-将数组的某些元素组合成一个新数组

Arrays Ruby-将数组的某些元素组合成一个新数组,arrays,ruby,Arrays,Ruby,我正在尝试将数组的某些元素合并到一个数组中 我有以下资料: arr1: ["element1":"ABC", "element1":"DEF","element1":"GHI"] arr2: ["element2":"123", "element2":"456", "element2":"789"] arr3: ["element3":"JKL", "element3":"MNO", "element3":"PQR"] 我试图将第一个元素合并到一个数组中,然后是第二个,然后是第三个,以生成:

我正在尝试将数组的某些元素合并到一个数组中

我有以下资料:

arr1: ["element1":"ABC", "element1":"DEF","element1":"GHI"]
arr2: ["element2":"123", "element2":"456", "element2":"789"]
arr3: ["element3":"JKL", "element3":"MNO", "element3":"PQR"]
我试图将第一个元素合并到一个数组中,然后是第二个,然后是第三个,以生成:

arr4: ["element1":"ABC", "element2":"123", "element3":"JKL"]
arr5: ["element1":"DEF", "element2":"456", "element3":"MNO"]
arr6: ["element1":"GHI", "element2":"789", "element3":"PQR"]
我目前掌握的代码是:

test1 = ["element1:"+arr1[0] +', "element2:"'+ arr2[0] + ', "element3:" '+arr3[0]]
test2 = ["element1:"+arr1[1] +', "element2:"'+ arr2[1] + ', "element3:" '+arr3[1]]
test3 = ["element1:"+arr1[2] +', "element2:"'+ arr2[2] + ', "element3:" '+arr3[2]]
但是我得到了一个混乱的结果——我做错了什么

arr1 = ["ABC", "DEF", "GHI"]
arr2 = ["123", "456", "789"]
arr3 = ["JKL", "MNO", "PQR"]
与并行赋值一起使用

arr4, arr5, arr6 = [arr1, arr2, arr3].transpose

arr4 #=> ["ABC", "123", "JKL"]
arr5 #=> ["DEF", "456", "MNO"]
arr6 #=> ["GHI", "789", "PQR"]
而且是。只要可以使用
transpose
,就可以选择
zip
。如果数组
arr1
arr2
arr3
的大小都相同(根据
transpose
的要求,而不是
zip
的要求),则情况也相反


嗯,你的输入和输出看起来与问题的完全不同。@Stefan OP有我在回答中给出的数组(尽管有一些语法错误)。不幸的是,您无法在问题的编辑历史记录中看到这一点。无论如何,这里的总体思路是我希望的重要事情:)好的。。。只是看起来很奇怪。他们为什么要这样破坏自己的问题。。。唉,你的数据毫无意义。例如,您的
[“element1”:“ABC”,“element1”:“DEF”,“element1”:“GHI”]
实际上是
[{:element1=>“GHI”}]
arr1.zip(arr2, arr3)
  #=> [["ABC", "123", "JKL"],
  #    ["DEF", "456", "MNO"],
  #    ["GHI", "789", "PQR"]]