给定像[1,2,3,"x"]
或["1","2","3","x"]
这样的集合或数组,我怎样才能最好地提取(或许使用.filter)整数(例如)。在上面的任何一个例子中,我都希望得到答案[1,2,3]
。
答案 0 :(得分:2)
对于混合阵列,我使用filter
和is
:
let hybrid = [1,2,3,"x"]
let ints = hybrid.filter { $0 is Int }
print(ints) // [1, 2, 3]
对于字符串数组,我使用flatMap
和Int
初始值设定项:
let strings = ["1","2","3","x"]
let ints = strings.flatMap { Int($0) }
print(ints) // [1, 2, 3]