【发布时间】:2017-07-11 14:32:13
【问题描述】:
使用.flatten 是一个方便的小技巧,可以将一组子数组转换为单个数组。
例如:[[1,3],2,[5,8]].flatten => [1,3,2,5,8]
你甚至可以包含 nil [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]?
标签: arrays ruby flatten sub-array