javascript - Why is my recursive function call not returning a value? -


i have following code, trying return range between 2 numbers, , inner function not returning value. returns [function]. can tell me why?

var range = function(num1, num2) {     var output = [];       return function range2 () {         if (num2 - num1 === 2) {             return [num1+1];         }         else if (output.length + 1 === num2 - num1) {             return output;         }         else if (output.length + 1 !== num2 - num1) {             output.push(num1 + 1);         }         return range2(num1 + 1, num2);     }; }; 

//update: code ended working, fwiw:

var range = function(num1, num2) {     var list = [];     var range2 = function(num1, num2) {         list.push(num1 + 1);         if (num2 - num1 === 2) {             return list;         }         else {             return range2(num1 + 1, num2);         }     };     return range2(num1, num2); }; 

the range() function never calls range2(). returns function expression.

also, range2() needs take arguments.

var range = function(num1, num2) {    var output = [];      function range2(num1, num2) {      if (num2 - num1 === 2) {        return [num1 + 1];      } else if (output.length + 1 === num2 - num1) {        return output;      } else if (output.length + 1 !== num2 - num1) {        output.push(num1 + 1);      }      return range2(num1 + 1, num2);    };    return range2(num1, num2);  };    alert(range(1, 10));


Comments

Popular posts from this blog

authentication - Mongodb revoke acccess to connect test database -

r - Update two sets of radiobuttons reactively - shiny -

ios - Realm over CoreData should I use NSFetchedResultController or a Dictionary? -