可以说我有一个字符串数组,我想将其映射到一个整数数组
我可以使用 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数组,需要同时调用filter和map并包含很多样板内容。有没有更快捷的方法可以做到这一点?

最佳答案

更新: Xcode 7.2•Swift 2.1.1

let arrayOfStrings = ["0", "a", "1"]
let numbersOnly = arrayOfStrings.flatMap { Int($0) }

print(numbersOnly)   // [0,1]

关于ios - 如何在Swift中解开数组的元素? (即Array <Int?>作为Array <Int>),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25163741/

10-11 03:05
查看更多