functional-javascript-workshop
Version:
The basics of functional programming in JavaScript. No libraries required.
9 lines (7 loc) • 342 B
JavaScript
function reduce(arr, fn, initial) {
return (function reduceOne(index, value) {
if (index > arr.length - 1) return value // end condition
return reduceOne(index + 1, fn(value, arr[index], index, arr)) // calculate & pass values to next step
})(0, initial) // IIFE. kick off recursion with initial values
}
module.exports = reduce