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

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -