xxxxxxxxxx
var sum = function(array) {
return (array.length === 0) ? 0 : array[0] + sum(array.slice(1));
}
// or in ES6
var sum = (array) => (array.length === 0) ? 0 : array[0] + sum(array.slice(1));
// Test cases
sum([1,2,3]); // 6
var s = [1,2,3];
sum(s); // 6
sum(s); // 6
xxxxxxxxxx
function sum(n) {
if (n < 1) return 0; // exit condition
return n + sum(n - 1); // return value plus result of recursive call
}
console.log(sum(3));