I wrote this sum function to get used to writing recursive function.
I thought it would work when I finish writing but the final summed value becomes undefined.
There is no async part in this function but the returned value of this function becomes undefined, which I don't understand why...
What am I doing wrong?
Could anyone please tell me how to fix this problem?
Thanks!!
My code
function sum() {
var numbers = [...arguments];
if (numbers.length === 0) {
return 0;
}
if (numbers.length === 1) {
// it shows 15 here!!
console.log(numbers[0])
// But it returns undefined... Why!?
return numbers[0];
}
var summedValue = numbers[0] + numbers[1];
var restNumbers = numbers.slice(2);
sum(summedValue, ...restNumbers)
}
console.log(sum(1, 2, 3, 4, 5)) //undefined