假设我有一个String数组,我想将它映射到一个Int数组
我可以使用map功能:
我可以使用map功能:
var arrayOfStrings: Array = ["0","a"] let numbersOptional = arrayOfStrings.map { $0.toInt() } // numbersOptional = "[Optional(0),nil]"
Numbers现在是一个Int?数组,但我想要一个Int数组.
我知道我可以这样做:
let numbers = arrayOfStrings.map { $0.toInt() }.filter { $0 != nil }.map { $0! } // numbers = [0]
但这似乎并不是很迅速.从Int数组转换?对于Array of Int,需要使用相当多的样板函数来调用filter和map.有更快捷的方法吗?
解决方法
更新:Xcode 7.2•Swift 2.1.1
let arrayOfStrings = ["0","a","1"] let numbersOnly = arrayOfStrings.flatMap { Int($0) } print(numbersOnly) // [0,1]