I'm writing my first lines of JS code, now I'm trying to do an easy recursive function.
I know splice() and shift() removes the item they extract.
I'm having troubles here:
function sub (...par) { // It could take an arbitrary number of parameters
if (par.length >= 2)
{
var val = par.shift();
//val = par.splice(0,1);
return val - sub(par);
}
else
{
/*EDIT*/ //return par[0];
return -par[0];
}
}
Now if I run: sub (17,7) I correctly got 10, but If I run sub(17,7,3) instead of getting 8 I got NaN.
fixed like this thanks to Jonas Wilms help:
function sub (...par) { // It could take an arbitrary number of parameters
if (par.length >= 2)
{
var val = par.shift();
//val = par.splice(0,1);
return val - sub(...par);
}
else
{
/*EDIT*/ //return par[0];
return -par[0];
}
}