javascript reduce
/* reduce method: combine an array's values together, left to right */
let myArray = [1, 2, 3];
let a = myArray.reduce((initial, current) => initial + current, 0);
// [0 + 1 + 2 + 3] → 6
let b = myArray.reduce((initial, current) => initial + (current*10), 7);
// [7 + (1*10) + (2*10) + (3*10)] → 67
// Combine right to left with .reduceRight
let c = myArray.reduceRight((initial, current) => initial / current, 30);
// [30 / 3 / 2 / 1] → 5
/* Syntax: array.reduce((accumulator, currentValue) =>
combineFunction, accumulatorStartValue); */