let array = [1,5,6,"50","Hi",54] as [Any]
ฉันมีตารางคู่ลำดับเหมือนนี้ต้องการผลรวมของทุกที่เป็นไปได้ค่าต่างๆจากคลังภาพนี้ ใช้ระดับสูงฟังก์ชัน
let array = [1,5,6,"50","Hi",54] as [Any]
ฉันมีตารางคู่ลำดับเหมือนนี้ต้องการผลรวมของทุกที่เป็นไปได้ค่าต่างๆจากคลังภาพนี้ ใช้ระดับสูงฟังก์ชัน
มันทำงานสำหรับ Int
s และ String
บอกว่าสามารถจะแปลงให้เป็น Int
. มัดเชือกที่ไม่สามารถแปลงและรายการที่ไม่ต้องสนใจอื่นทั้งหมดชนิด
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
}
}