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?

``````
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
}

``````

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

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