gpt4 book ai didi

swift - 对 Dictionary.reduce() 中的 $0 感到困惑

转载 作者:行者123 更新时间:2023-11-28 15:25:25 26 4
gpt4 key购买 nike

我想计算一只股票的总值(value),正确答案是:

let stock = [1.5:5, 10:2, 4.99:20, 2.30:5, 8.19:30]
let stockSum = stock.reduce(0, {
$0 + $1.key * Double($1.value)
})

但我的构想是:

...
let stockSum = stock.reduce(0, {
$0.key * Double($0.value) + $1.key * Double($1.value)
})

肯定是报错了,谁能帮我解释一下?

最佳答案

下面是reduce方法的参数列表

reduce(initialResult: Result, nextPartialResult: (Result, (key: Double, value: Int)) throws -> Result)

在您的情况下,0 被分配给 initialResult,这实际上是在迭代时将总和保存到某个点。此 initialResult 作为第一个参数传入 $0,字典的键值作为第二个参数传入 $1。因此你会看到 $1.key$1.value

关于swift - 对 Dictionary.reduce() 中的 $0 感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45322329/

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