Can you describe this for me?
var arr, total; arr = [1, 2, 3, 4, 5]; total = arr.reduce(function(previous, current) { return previous + current; }); // total
The only thing is order of computation. Reduce does it 'left to right', reduceRight does it 'right to left'. See the following example: