使用 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]