0
說我有以下代碼。Swift數組映射跳過數值
let myArray = [1,4,5,8,9,13,14,15]
let numbers = [4,8,13,15]
let finalArray = myArray.map({id in numbers.first(where: {$0 == id})!})
,但我得到一個錯誤,因爲有時numbers.first(where: {$0 == id})
回報nil
有時並不能解開。
我知道這不是最好的例子,但它是解釋我想要做的最簡單的例子。
我在這個例子中的目標是讓finalArray
爲[4,8,13,15]
。所以IF numbers.first(where: {$0 == id})
是nil
只是跳過這個值。
這可能與map
在Swift中嗎?或者返回的數組長度必須等於我們正在運行的數組map
?
快速注意。我的例子很簡單,實際上我的問題更復雜。我有我的理由想要使用map
,因爲它是一種基於另一個陣列獲取新陣列的簡單方法。
只需使用代替地圖flatMap –