From 28ec841c701750b89318a5321fd402753571ed10 Mon Sep 17 00:00:00 2001 From: David Bogle <davidbogle.92@gmail.com> Date: Sat, 15 Apr 2017 00:39:01 -0500 Subject: [PATCH] Update solution for basic recursion --- exercises/basic_recursion/solution/solution.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/exercises/basic_recursion/solution/solution.js b/exercises/basic_recursion/solution/solution.js index 485507f..514d7d9 100644 --- a/exercises/basic_recursion/solution/solution.js +++ b/exercises/basic_recursion/solution/solution.js @@ -1,8 +1,7 @@ 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 + if (arr.length === 0) return initial // end condition + var subset = arr.slice(0, arr.length - 1) // setup recursive call with left subset + return fn(reduce(subset, fn, initial), arr[arr.length - 1]) // pass last element to traverse ltr } module.exports = reduce