let array = [1,5,6,"50","Hi",54] as [Any]
Mám pole, jako je to třeba součet všech možných hodnot z této kolekce S použitím Vyššího řádu funkce
let array = [1,5,6,"50","Hi",54] as [Any]
Mám pole, jako je to třeba součet všech možných hodnot z této kolekce S použitím Vyššího řádu funkce
To funguje pro Int
s a String
y, které mohou být převedeny na Int
. To kapky řetězce, které nemohou být převedeny, a ignoruje všechny ostatní 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
}
}