使用 flatMap() 从 Array 中提取给定类型的值

things 数组包含 Any 类型的值。

let things: [Any] = [1, "Hello", 2, true, false, "World", 3]

我们可以提取给定类型的值并创建该特定类型的新数组。假设我们想要提取所有 Int(s) 并以安全的方式将它们放入 Int 数组中。

let numbers = things.flatMap { $0 as? Int }

现在 numbers 被定义为 [Int]flatMap 函数丢弃所有 nil 元素,因此结果仅包含以下值:

[1, 2, 3]