gpt4 book ai didi

swift - 如何计算 NSDictionary 的快速数组的值总和

转载 作者:搜寻专家 更新时间:2023-11-01 06:35:54 25 4
gpt4 key购买 nike

我的字典包含一个 NSDate作为键和一个 Double作为一个值。我有这个字典( [NSDictionary] )的数组(快速数组),我想计算字典所有值的总和。

我试图将其转换为 Dictionary<NSDate, Double> (快速方式)或到 NSArray<NSDictionary>但我总是出错。

有没有简单的方法来计算总和?

最佳答案

这是一个函数式方法:

let total = array.reduce(0) { (sum, dict) in sum + (dict.allValues as! [Double]).reduce(0, +) }

这使用了 reduce 两次。内部 reduce 对单个字典的值求和,外部 reduce 对所有字典的总和求和。


随着可读性的降低,您可以使用默认参数名称 $0$1 来实现更紧凑的等式:

let total = array.reduce(0) { $0 + ($1.allValues as! [Double]).reduce(0, +) }

关于swift - 如何计算 NSDictionary 的快速数组的值总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41684734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com