想我已经在这里我要计算使用高阶函数reduce()
数字的平均代码:理解减少()
var ofAvg = [1,2,3,4,5]
var doAvg = ofAvg.reduce(0) { $0 + $1 }
doAvg/ofAvg.count //This gives me the correct answer which in this case is 3.
但是当我做:
var ofAvg = [1,2,3,4,5]
var doAvg = ofAvg.reduce(0) { ($0 + $1)/ofAvg.count }
我得到输出为1
。我在做什么?我对reduce()
的理解是不是它实际上是什么? reduce()
方法之外的doAvg/ofAvg.count
是否可以获得平均值?
在每次迭代中,您将被计数除。 –
您只需要除以元素数量一次。 – itskoBits