将两个数组的项合并为新数组

时间:2017-11-02 22:54:34

标签: ruby

我正在浏览红宝石Array iterators。我无法找到我要找的东西,我认为它已经存在:

我有两个数组:

["a", "b", "c"]

[0,1,2]

我想合并如下:

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

我认为迭代器存在于标准库中(之前我使用过它),但我找不到它的名字。

3 个答案:

答案 0 :(得分:2)

这应该有效:

Array#zip

来自{{1}}函数的官方文档:

  

将任何参数转换为数组,然后将self的元素与每个参数中的相应元素合并。

     

这将生成一系列ary.size n元素数组,其中n比参数计数多一个。

有关更多信息和其他一些示例,请参阅:

https://ruby-doc.org/core-2.4.2/Array.html#method-i-zip

答案 1 :(得分:0)

您正在寻找zip功能

https://apidock.com/ruby/Array/zip

答案 2 :(得分:0)

我认为你可以使用https://apidock.com/ruby/Enumerator/each_with_index 请参阅此帖子difference between each.with_index and each_with_index in Ruby?

或者如果您有特定值并且想要映射它们,则可以使用map或zip。它在这篇文章中解释得很好 Combine two Arrays into Hash