Everything was going great until “recursion” came into play and i think this was where things got mixed up for me hence why the countDown exercise is frustrating me presently, i have gone thru the breakdown explanation of recursion there but the correlation of how they make recursion possible is still lost on me, so am back here retracing steps . From the example to be observed:

```
function multiply(arr, n) {
let product = 1;
for (let i = 0; i < n; i++) {
product *= arr[i];
}
return product;
}
```

What does `i < n;`

mean here? i get why i cant use `i < arr.length`

but how does ‘i’ being less than ‘n’ multiplies the first value of the array to make this work:

```
function multiply(arr, n) {
let product = 1;
for (let i = 0; i < n; i++) {
product *= arr[i];
}
return product;
}
multiply([10, 2, 3], 2);
```

From here i dont get how that lead to ‘n’ being the same as ‘n-1’, same reason why my solution worked either, i just followed the steps not why or how. Please help, i`m so confused about recursion.

**Your browser information:**

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

**Challenge:** Basic JavaScript - Replace Loops using Recursion

**Link to the challenge:**