Angenommen habe ich einen Code, wo ich den Mittelwert der Zahlen berechnen wollen die Funktion höherer Ordnung mit reduce()
:Verständnis reduzieren()
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.
Aber wenn ich tun:
var ofAvg = [1,2,3,4,5]
var doAvg = ofAvg.reduce(0) { ($0 + $1)/ofAvg.count }
I Holen Sie sich den Ausgang als 1
. Was falsch mache ich? Ist mein Verständnis von reduce()
nicht das, was es eigentlich ist? Ist es möglich, den Durchschnitt zu erhalten, ohne doAvg/ofAvg.count
außerhalb der reduce()
Methode zu tun?
Sie teilen durch die Zählung bei jeder Iteration. –
Sie müssen nur einmal durch die Anzahl der Elemente dividieren. – itskoBits