我是 Swift 和 iOS 开发的新手。一般来说。我想知道如何对不同词典中同一键的多个值求和。例如我有
20 个具有相同键值对的字典 [String: AnyObject] 例如"Height": 20 我想将这些求和并计算平均值。 例如:
// Example dictionary
let player17: [String: AnyObject] = [
"Name": "Les Clay",
"Height": 42,
"Soccer Experience": true,
"Guardian Name(s)": "Wynonna Brown"
]
//在这里使用任何对象,因为它们都进入一个大数组
最佳答案
您可以使用reduce
将数字相加,如下所示:
let totalHeight = allPlayers.reduce(0) { (p, c) -> Int in
return p + (c["Height"] as! Int)
}
注意: c["Height"] 为! Int
方法需要硬知识,即 "Height"
键存在于每个字典中,其值是 Int
类型。否则,这将在运行时产生异常。
如果您的一些字典中没有正确的键,或者包含不同类型的值,您需要预先过滤或使用可选的转换,例如
return p + ((c["Height"] as? Int) ?? 0)
关于swift - 如何在 swift 中对不同字典中同一键的多个值求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38423300/