快速将嵌套数组转换为一维数组

use*_*936 -2 arrays nested swift

我有一个[[[ ]]]想要转换为的结构[]

例如[ [ [ "Hi" ] ] ] 进入 [ "Hi" ]

如何在Swift中执行此操作?

Mar*_*n R 5

joined()返回(串联的)集合元素(的懒惰视图)。这可以重复用于更深层的嵌套集合:

let arr = [ [ [ "A", "B" ], ["C"] ], [ [ "D", "E" ], ["F"] ] ]

let flattened = Array(arr.joined().joined())
print(flattened) // ["A", "B", "C", "D", "E", "F"]
Run Code Online (Sandbox Code Playgroud)

外部Array()构造函数根据序列构建一个数组。除此之外,不会创建任何中间数组。

如果只想遍历嵌套数组,则连接序列就足够了:

for elem in arr.joined().joined() {
    print(elem)
}
Run Code Online (Sandbox Code Playgroud)