let array = [1,5,6,"50","Hi",54] as [Any]
Mam tablicę, podobny do tego, w którym wymagane jest suma wszystkich możliwych wartości z tej kolekcji Korzystanie z funkcji wyższego rzędu
let array = [1,5,6,"50","Hi",54] as [Any]
Mam tablicę, podobny do tego, w którym wymagane jest suma wszystkich możliwych wartości z tej kolekcji Korzystanie z funkcji wyższego rzędu
To działa dla Int
s i String
s, które mogą być przekształcone w Int
. On odrzuca wiersze, które nie mogą być zamienione, i ignoruje wszystkie inne typy.
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
}
}