使用.flatten
是一个方便的小技巧,可以将一组子数组变成单个数组。 例如:[[1,3],2,[5,8]].flatten
=>[1,3,2,5,8]
你甚至可以包括零[1,[2,nil],3].flatten
将导致[1,2,nil,3]
。红宝石 - 优雅地铺平数组,但不要忽略空的子数组
这种方法在嵌套.map
方法时非常有用,但是如何解释一个空的子数组呢?例如:[1,[2,3],[],4].flatten
将返回[1,2,3,4]
...但如果我需要跟踪空的子排列,也许结果转换为[1,2,3,0,4]
或[1,2,3,nil,4]
是否有任何优雅的方式来做到这一点?或者,我是否需要编写一些方法来遍历每个单独的子数组并逐个检查它?
你需要检查嵌套空数组,即'[1,[2,3,[]],4]'? – eiko