jke*_*luk 1 ruby arrays flatten sub-array
使用.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].map { |a| a == [] ? nil : a }.flatten
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
578 次 |
| 最近记录: |