# Understanding "Replace Loops using Recursion" Lesson

The Replace Loops using Recursion lesson was quite confusing for me, so this is my attempt to break it down into easier-to-understand bites.

Solution below:

``````function sum(arr, n) {
if(n <= 0){
return 0
} else {
return sum(arr, n - 1) + arr[n - 1]
}
}
``````

First, let’s look at the function call with an array (`arr`) and an index (`n`)

``````sum([1, 3], 2)
``````

Our function’s `if` statement will first check if the index (`2` in this example) is less than or equal to 0. Since `2` is greater than 0, we move to our `else` statement.

``````return sum(arr, n - 1) + arr[n - 1]
``````

Using the array and the index from our original function call `sum([1, 3], 2)`, the `else` statement will look something like this:

``````return sum([1, 3], 2 - 1) + arr[2 - 1]
``````

or

``````return sum([1, 3],  1) + 1
``````

This means that the value of our array at index 1 (`3`) will be added to the value of 2-1 (`1`) which gives us the answer of `4`.