2012-10-21 76 views
2

我想将多维数组缩减为更小的多维数组。让我发表我的意思。这里是我的输入/启动阵列:将多维数组缩减为更小的多维数组

[ 
    [ 
    [ ["Armando", "P"], ["Dave", "S"] ], 
    [ ["Richard", "R"], ["Michael", "S"] ], 
    ], 
    [ 
    [ ["Allen", "S"], ["Omer", "P"] ], 
    [ ["David E.", "R"], ["Richard X.", "P"] ] 
    ] 
] 

而且我认为这是四维阵列,我想,以减少:

["Armando", "P"], ["Dave", "S"], ["Richard", "R"], ["Michael", "S"], ["Allen", "S"],["Omer", "P"] , ["David E.", "R"], ["Richard X.", "P"] 

我怎样才能做到这一点的红宝石?

+0

您只需通过所有这些层次循环,建立自己的结果。你尝试过吗? :) –

+0

@SergioTulentsev:但是'Array#flatten'是为你做的。 – Linuxios

回答

3

使用Array#flatten(levels)

xs.flatten(2) 
+0

这对我来说是个新招数:) –

+0

@tokland:这个返回=> [“Armando”,“P”,“Dave”,“S”,“Richard”,“R”,“Michael”,“S”, “Allen”,“S”,“ Omer”,“P”,“David E.”,“R”,“Richard X.”,“P”] – OneMoreError

+0

我想保持最后的水平! – OneMoreError