0

我有两个数组:

a = ["a1", "a2", "a3"]
b = ["b1", "b2", "b3"]

我想得到一个看起来像这样的数组:

combined = [["a1", "b1"], ["a2", "b2"], ["a3", "b3"]]

我在返回的哈希中找到了解决方案Hash[a.zip b]

{"a1"=>"b1", "a2"=>"b2", "a3"=>"b3"}

这可能必须用 lambda 函数来解决,但我想知道是否有一些快速的 Ruby 魔法使它成为一个更快的单线。

4

2 回答 2

3

我不确定你为什么Hash参与其中。Array#zip是您需要的方法。

a = ["a1", "a2", "a3"]
b = ["b1", "b2", "b3"]

a.zip(b) # => [["a1", "b1"], ["a2", "b2"], ["a3", "b3"]]
于 2013-02-14T18:59:04.440 回答
3

或者,

combined = [a, b].transpose
于 2013-02-14T19:02:31.537 回答