Whenever I execute this snippet the console.log before return returns the array with 20 times the value 23. However console.log(Check(users, 0, 20)); returns only 'undefined'.
What am I doing wrong?
var users = [23, 23, 23, 23, 23, 23, 23, 23, 23, 23]; console.log(Check(users, 0, 20)); function Check(ids, counter, limit){ ids.push(23); // Recursion if (counter+1 < limit){ Check(ids, counter+1, limit); } else { console.log(ids); return ids; } }
You forgot to return a result from the point, where you entering recusrion.
var users = [23, 23, 23, 23, 23, 23, 23, 23, 23, 23]; console.log(Check(users, 0, 20)); function Check(ids, counter, limit){ ids.push(23); // Recursion if (counter+1 < limit){ return Check(ids, counter+1, limit); // return here! } else { console.log(ids); return ids; } }
But return value seems useless, cause' your function altering initial array as well.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With