我有一个结构[a, [b], c, [d], ...]
的数组,例如:
array = [0, [1], 2, [1]]
我需要:
[[0, 1], [2, 1]]
我该怎么办? :P
更新
我想知道如何处理这个数组
array = [0, [], 1, [], 2, []]
到
[[0, 1], [2, 1]]
即删除空的并合并如上所示。
谢谢:)
答案 0 :(得分:2)
array.flatten.each_slice(2).to_a
答案 1 :(得分:2)
我写道:
array.each_slice(2).map { |x, ys| [x, ys.first] }
#=> [[0, 1], [2, 1]]
请注意,你也可以写map { |x, (y)| [x, y] }
虽然它肯定是一个神秘的解包。