2011-10-25 107 views
4

刪除「空」的元素我有一個多維數組像這樣從多維數組

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

什麼是去除空數組的最佳方式?

現在我只是在做一個array[1..-1]刪除第一個元素,但我想要一個更可靠的方法來做到這一點。

+0

你想用'[[[],[1]],[[1],[2]]]做什麼? –

+0

@ muistooshort注意你的數組與我的不同。我會將它與其他數組進行比較以找到最短的子字符串。我通過做一些像'ar.each_index.map {| i | ar.combination(i).to_a' – Brand

+0

所以你說你不能把'[[],[1]]作爲一個元素?我只是想澄清你的數據真的是什麼樣子。 –

回答

8

展平每個數組,如果它沒有任何元素,刪除它。

arr = [ [[]], [[1], [2]], [[1, 2]] ] 
arr = arr.delete_if { |elem| elem.flatten.empty? } 
# => [[[1], [2]], [[1, 2]]]