如何从[Any]数组的集合中获得所有可能值的和


let array = [1,5,6,"50","Hi",54] as [Any]

我有一个像这样的数组,需要从这个集合的每个可能的值的总和使用高阶函数

这适用于可以转换为IntInts和Strings。它删除不能转换的字符串,并忽略所有其他类型。

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
}
}

最新更新