Skip to content

Commit 28ec841

Browse files
committed
Update solution for basic recursion
1 parent 024dd9e commit 28ec841

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

Diff for: exercises/basic_recursion/solution/solution.js

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
function reduce(arr, fn, initial) {
2-
return (function reduceOne(index, value) {
3-
if (index > arr.length - 1) return value // end condition
4-
return reduceOne(index + 1, fn(value, arr[index], index, arr)) // calculate & pass values to next step
5-
})(0, initial) // IIFE. kick off recursion with initial values
2+
if (arr.length === 0) return initial // end condition
3+
var subset = arr.slice(0, arr.length - 1) // setup recursive call with left subset
4+
return fn(reduce(subset, fn, initial), arr[arr.length - 1]) // pass last element to traverse ltr
65
}
76

87
module.exports = reduce

0 commit comments

Comments
 (0)