I'm glad you liked the article, In the case where an initial value is not specified the reducer starts from index 1 and the first member of the array (index 0) is taken as the accumulator for the first execution.
arr = [10, 20, 30, 40, 50]
callback = function (acc, cur) {
return acc + cur
}
arr.reduce(callback)
return 10 + 20
I hope I was able to shed more light and not confuse you.
Feel free to reach me.
Coincidentally, I googled about the reduce method just last night, so waking up to this well explained article already made my day. Thanks for breaking down this topic.
I have a question though. In the 2nd example you gave were we had
const arr = [10, 20, 30, 40, 50] const arrSum = arr.reduce((acc, curr) => { return acc + curr })You said the output was going to be
150I find this quite confusing since you also stated that if an initial value is not stated just as above, the reducer starts from index 1 which in this case is 20.
So shouldn't the result be
140instead of150?