DS#3 Recursions
https://github.com/kuychaco/algoClass/blob/master/recursion/recursionIntro.js
by bhupendra negi
HTML
<script src="https://rawgit.com/eu81273/jsfiddle-console/master/console.js"></script>
JavaScript
// ex1
function loop(n) {
for (var i = n; i >= 0; i--) {
console.log(i);
}
}
//loop(5);
// ex2
function recloop(n) {
if (n < 0) return;
console.log(n);
recloop(n - 1);
}
//recloop(6);
//ex3
function exponent(base, expo) {
var result = 1;
while (expo > 0) {
result = result * base;
expo--;
}
console.log(result);
}
//exponent(0,0);
//ex4
function RecursiveExponent(base,expo) {
if (expo == 0) return 1;
return base*RecursiveExponent(base,expo-1)
}
//console.log(RecursiveExponent(100,2));
//ex5
function recursiveMultiplier (arr,num,count=0) {
if (count === arr.length ) return;
arr[count] = arr[count] * num
recursiveMultiplier (arr,num,++count)
}
var arr = [1,2,3];
//recursiveMultiplier( arr,5,0 );
//console.log(arr);
function recursiveMultiplier1 (arr,num) {
var rmul = function (count) {
if (count === arr.length ) return;
arr[count] = arr[count] * num
rmul (++count)
}
rmul(0);
return arr;
}
var arr = [10,20,30];
recursiveMultiplier1( arr,5 );
console.log(arr);
//ex6 recursive array 1
function reverse(a) {
if (!a.length) return a;
return reverse(a.slice(1)).concat(a[0]);
}
console.log(reverse([1,2,3]));
// ex6 recursive aray 2
function recursiveArray (arr) {
var reverArr = [];
var addItems = function (orderedArr) {
if (orderedArr.length > 0) {
reverArr.push(orderedArr.pop());
addItems(orderedArr);
}
return;
}
addItems (arr)
return reverArr;
}
console.log(recursiveArray([40,30,20,10]));