back

Recursion

function factorialIterative(num) {
let result = 1;
for(let i=2;i<=num;i++) {
result = result * i
}
return result;
}
console.log("iterative",factorialIterative(3))
function factorialRecursive(num) {
if (num === 1) return 1;
return num * factorialRecursive(num-1);
}
console.log("recursive",factorialRecursive(3))
view raw factorial.js hosted with ❤ by GitHub
function fibonacci(num) {
if (num === 1) return num;
if (num === 0) return num;
return fibonacci(num-1) + fibonacci(num-2)
}
console.log(fibonacci(4))
view raw fibonacci.js hosted with ❤ by GitHub
function collectOddValues(arr) {
let result = []
function helper(processedArr) {
if (processedArr.length ===0) return;
if (processedArr[0] % 2 !== 0) {
result.push(processedArr[0])
}
helper(processedArr.slice(1))
}
helper(arr)
return result;
}
collectOddValues([1,2,3,4,5,6])
function collectOddValues(arr) {
let newArr = [];
if(arr.length === 0) return arr;
if(arr[0] % 2 !== 0) {
newArr.push(arr[0])
}
newArr = newArr.concat(collectOddValues(arr.slice(1)))
return newArr;
}