2012-10-21 108 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