1

我有一个看起来像这样的数组结构:

a=[
  [['a','A'],['b','B'],['c','C']],
  [['d','D'],['e','E'],['f','F']]
]

如何合并内部两个数组,使新结构成为数组数组

[
 ['a','A'],['b','B'],['c','C'],['d','D'],['e','E'],['f','F']
]

试过了

a.inject([]){|k,v| v | k} # but order gets changed
=> [["d", "D"], ["e", "E"], ["f", "F"], ["a", "A"], ["b", "B"], ["c", "C"]]

我怎样才能在不丢失订单的情况下获得理想的结果。

提示,意见,建议,好吗?

谢谢。

4

2 回答 2

5

array.flatten接受一个参数:

a.flatten(1) #[["a", "A"], ["b", "B"], ["c", "C"], ["d", "D"], ["e", "E"], ["f", "F"]]
于 2012-04-19T08:51:33.317 回答
1

试试这个:

a.inject([]){|k,v| k|v}
于 2012-04-19T08:45:18.520 回答