Files
Oliver Eyton-Williams 6078081a3f feat: Add guide article and update its challenge (#36371)
* feat: Add guide article and update its challenge

* Update guide/english/certifications/javascript-algorithms-and-data-structures/basic-javascript/replace-loops-using-recursion/index.md

Co-Authored-By: Randell Dawson <5313213+RandellDawson@users.noreply.github.com>

* Update guide/english/certifications/javascript-algorithms-and-data-structures/basic-javascript/replace-loops-using-recursion/index.md

Co-Authored-By: Randell Dawson <5313213+RandellDawson@users.noreply.github.com>

* Update guide/english/certifications/javascript-algorithms-and-data-structures/basic-javascript/replace-loops-using-recursion/index.md

Co-Authored-By: Randell Dawson <5313213+RandellDawson@users.noreply.github.com>

* Update guide/english/certifications/javascript-algorithms-and-data-structures/basic-javascript/replace-loops-using-recursion/index.md

Co-Authored-By: Randell Dawson <5313213+RandellDawson@users.noreply.github.com>

* fix: Stop hints from being hidden

* fix: Improve the wording.

* Update index.md

Fixed per suggestion

* Update index.md

Fixed per suggestion
2019-07-19 16:14:28 -05:00

965 B

title
title
Replace Loops using Recursion

Replace Loops using Recursion

Hint 1:

When n <= 0 sum(arr, n) returns arr[0].

Hint 2:

When n is larger than 0 sum(arr, n) returns sum(arr, n - 1) + arr[n]

Basic code solution:

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

Code explanation

The if statement checks to see if sum is evaluating the base case, n <= 0, or not. If it is, then sum returns the answer, arr[0] - the sum of elements from 0 to 0 inclusive. Otherwise it recurses by evaluating a simpler function call, sum(arr, n - 1). Once that returns it adds a single array element, arr[n], to it and returns that sum.

Resources