【发布时间】:2017-03-22 00:17:59
【问题描述】:
假设我有一个字符串数组,我想将它映射到一个 Int 数组 我可以使用地图功能:
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 数组转换? to Array of Int 需要使用非常多的样板文件调用过滤器和映射。有没有更快捷的方法来做到这一点?
【问题讨论】:
-
你希望“a”如何映射到
Int? -
@Zaph "a".toInt() 返回 nil,所以我希望它从我的数组中过滤掉。