mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-01-12 06:03:04 -05:00
* 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
965 B
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.