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)) |
function fibonacci(num) { | |
if (num === 1) return num; | |
if (num === 0) return num; | |
return fibonacci(num-1) + fibonacci(num-2) | |
} | |
console.log(fibonacci(4)) |
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; | |
} |