I found a description of the syntax of the JavaScript method reduce that is:
arr.reduce(callback(accumulator, currentValue[, index[, array]]) [, initialValue])
In this case for example what does the square breackets in the argument of this function mean?