let array = [1,5,6,"50","Hi",54] as [Any]
Ja som so pole, ako je to potrebné súčet všetkých možných hodnôt z tejto kolekcie Pomocou Vyššieho rádu funkcie
let array = [1,5,6,"50","Hi",54] as [Any]
Ja som so pole, ako je to potrebné súčet všetkých možných hodnôt z tejto kolekcie Pomocou Vyššieho rádu funkcie
To funguje pre Int
s a String
s, ktoré môžu byť prevedené na Int
. To kvapky reťazce, ktoré nemôže byť konvertovaný a ignoruje všetky 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
}
}