1

我有一个结构数组[a, [b], c, [d], ...],例如:

array = [0, [1], 2, [1]]

我需要:

[[0, 1], [2, 1]]

我该怎么做?:P

更新:

我想知道如何处理这个数组

array = [0, [], 1, [], 2, []]

进入

[[0, 1], [2, 1]]

那就是删除空的并相应地合并,如上所示。

谢谢 :)

4

2 回答 2

2

我会写:

array.each_slice(2).map { |x, ys| [x, ys.first] }
#=> [[0, 1], [2, 1]]

请注意,您也可以编写,map { |x, (y)| [x, y] }尽管它肯定是一个神秘的拆包。

于 2013-02-17T08:47:57.937 回答
2
array.flatten.each_slice(2).to_a
于 2013-02-17T08:26:47.403 回答