Struggling to grasp Recursion in JavaScript -
right i'm going through codecademy's recursion track , i'm confused how interpret correct code.
// create empty array called "stack" var stack = [] // here our recursive function function power(base, exponent) { // base case if ( exponent === 0 ) { return 1; } // recursive case else { stack[exponent-1] = base * power(base, exponent - 1); //confused start of line return stack[exponent-1]; } } power(3,3) console.log(stack) // [3,9,27]
if exponent-1 becomes 2 1 0, why 3 become element @ 0th position in array rather @ 2nd position (and on) ?
i'd appreciate help.
on first pass, exponent 3, store value @ stack[2]. value not calculated until recursive call has completed power(3,2)...power(3, 1).
so assignment stack[3-1] preceded 1 stack [3-2], in turn preceded 1 stack[3-2]
Comments
Post a Comment