use*_*606 -4 ruby arrays multidimensional-array
我试图结合这些数组:
[[1,2,3],[4,5,6],[7,8,9]]
[["a","b"], ["c","d"], ["e","f"]]
Run Code Online (Sandbox Code Playgroud)
以下列方式:
[[1,2,3,"a","b"], [4,5,6,"c","d"], [7,8,9,"e","f"]]
Run Code Online (Sandbox Code Playgroud)
但我无法找到正确的答案.
首先,将数组交织Enumerable#zip,然后flatten将新数组中的每个元素交织:
a = [[1,2,3],[4,5,6],[7,8,9]]
b = [["a","b"], ["c","d"], ["e","f"]]
a.zip(b).map(&:flatten)
# => [[1, 2, 3, "a", "b"], [4, 5, 6, "c", "d"], [7, 8, 9, "e", "f"]]
Run Code Online (Sandbox Code Playgroud)
如果您不熟悉,"椒盐卷饼结肠语法" foo(&:bar)等同于foo { |x| x.bar }(不是真正的语法,只是一种方法调用).