Replace Loops using Recursion?

Can someone explain to me the last two lines?

Recursion is the concept that a function can be expressed in terms of itself. To help understand this, start by thinking about the following task: multiply the first n elements of an array to create the product of those elements. Using a for loop, you could do this:

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

However, notice that multiply(arr, n) == multiply(arr, n - 1) * arr[n - 1] . That means you can rewrite multiply in terms of itself and never need to use a loop.

Suppose that

let arr = [1, 2, 4, 5];

The function multiply(arr, n) is the product of the first n elements of the array arr.

However, notice that multiply(arr, n) == multiply(arr, n - 1) * arr[n - 1] . That means you can rewrite multiply in terms of itself and never need to use a loop.

This is saying that

let product = 1 * 2 * 4 * 5;

is the same as

let product = (1 * 2 * 4) * 5;
1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.