Recursion Loops
by vanduzled
JavaScript
// this is the same as
function multiply(arr, n) {
var product = 1;
for (var i = 0; i < n; i++) {
product *= arr[i];
}
return product;
}
// this
function multiply(arr, n) {
if (n <= 0) {
return 1;
} else {
return multiply(arr, n - 1) * arr[n - 1];
}
}
// Write a recursive function, sum(arr, n), that returns the sum of the first n elements of an array arr
function sum(arr, n) {
if(n <= 0) {
return 0;
} else {
return sum(arr, n - 1) + arr[n - 1];
}
}
console.log(sum([1,2,3,4],4));
// 10
// Use Recursion to Create a Countdown
// https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown
function countdown(n){
if(n < 1){
return [];
}else{
console.log(n);
var cunt = countdown(n - 1);
cunt.unshift(n);
return cunt;
}
}
// Only change code above this line
console.log(countdown(5));
//[5, 4, 3, 2, 1]
// not yet done
// Use Recursion to Create a Range of Numbers
function rangeOfNumbers (n, m) {
if (m < n) {
return [];
} else {
const countArray = rangeOfNumbers (n + 1, m - 1);
countArray.push(n-1,m-1);
return countArray;
}
}
console.log(rangeOfNumbers (6, 9));
//Use Recursion to Create a Range of Numbers
//https://www.freecodecamp.org/learn/javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-range-of-numbers
function rangeOfNumbers (n, m) {
if (m < n) {
return [];
} else {
const countArray = rangeOfNumbers (n, m - 1);
countArray.push(m);
return countArray;
}
}
console.log(rangeOfNumbers (6, 9));