Recursion explanation please

I don’t really understand how recursion works in this exercise. does recursion work with sum too? because in the example is with *

How can sum([1], 0) should equal 0?
How can sum([2, 3, 4], 1) should equal 2?
How can sum([2, 3, 4, 5], 3) should equal 9?

Your code so far


function sum(arr, n) {
// Only change code below this line
if (n <= 0) {
return 0; 
}else {
return sum(arr, n - 1) + arr[n-1]; 
}
// Only change code above this line
}

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36.

Challenge: Replace Loops using Recursion

Link to the challenge:

recursion is just when the function calls itself, so it can be with any kind of operation

because the number 0 indicates how many numbers to sum. So summing 0 numbers result in 0

the 1 means that the function should sum the first number in the array, which is a 2, so total is 2

the 3 means that the first 3 numbers in the array must be summed. 2+3+4 is 9

1 Like

Thank you!
In which real context can I practice this?
I would like to understand it in-depth.
Many thanks!

there are other challenges in the curriculum about recursion, like at the end of the Basic JavaScript section

plus, a lot of the algorithms in the Intermediate Algorithms section can be solved using recursion

It is not usually much used, but it is a thing to know because it can be met in the wild

1 Like