Сейчас, суммирует все значения массива со стартовым значением.
function reduce(array, combine, start) {
var current = start; // записываем стартовое значение в основную переменную
for (var i = 0; i < array.length; i++) // в цикле...
current = combine(current, array[i]); // ... применяем введенную функцию (см функцию combine)
return current; // выводим значение из функции.
}
console.log(reduce([1, 2, 3, 4], function(a, b) {
return a + b; // суммируем аргументы (в нашем случае добавляем к уже подсчитанному новое значение)
}, 0));
/* Данная [reduce] функция выполняет применение введенной
* функции (combine) ко всем значениям массива (array), с учетом
* стартового значения (start)
*/