let array = [1,5,6,"50","Hi",54] as [Any]
我有一个像这样的数组,需要从这个集合的每个可能的值的总和使用高阶函数
这适用于可以转换为Int
的Int
s和String
s。它删除不能转换的字符串,并忽略所有其他类型。
let result = array.reduce(into: 0) { partialResult, item in
switch item {
case let someInt as Int:
partialResult += someInt
case let someString as String:
if let intValue = Int(someString) {
partialResult += intValue
}
default:
break
}
}