Hello everyone, hope you are all doing well. My name is Surya L. The aim of this blog is to teach you all about Learn Recursion In JavaScript.
Recursion
- Recursion refers to the concept that a function can be expressed in terms of itself.
- As an example, consider multiplying the first n elements of an array to create the product of those elements.
Using a for loop, you could do this:
function multiply(arr, n) {
let product = 1;
for (let i = 0; i < n; i++) {
product *= arr[i];
}
return product;
}
- However, notice that multiply(arr, n) == multiply(arr, n - 1) * arr[n - 1].
- That means you can rewrite multiply in terms of itself and never need to use a loop.
function multiply(arr, n) { if (n <= 0) { return 1; } else { return multiply(arr, n - 1) * arr[n - 1]; } }
- The recursive version of multiply looks like this. For n <= 0, it returns 1.
- For larger values of n, it calls itself, but with n - 1. This function call is evaluated in the same way, calling multiply until n <= 0.
- All functions can now return and the original multiply returns the answer.
Example1:
Program to 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;//If n is less then zero sum(arr,n) returns 0
}else
{
return sum(arr,n-1)+arr[n-1];
}
}
let sumArray=sum([12,45,16],3);
console.log(sumArray);
- When if statement is not fulfilled the next statement else statement is executed return sum(arr,n-1)+arr[n-1]; .
- Then sum(arr,n-1) function is called with n become 2 this function keeps on loop until the stop condition is met and loop stops.
The output of above code is :
73 By adding 12,45,16 which results in 73
Program to print the counter which is stored in a array using Recursion method
var arr=[]
function countdown(n){
if (n<1){
return arr
}
arr.push(n)
return countdown(n-1);
}
console.log(countdown(5))
If n is less then 1 return an empty array else
arr.push(n)
return countdown(n-1);
This block of code is executed which loops the countdown function and decreases the value of n by 1.
Conclusion:
- Recursion refers to the concept that a function can be expressed in terms of itself.
Thanks for reading the blog. Do let me know what you think about it.
You can connect me with Showwcase Twitter Blog GitHub Contact Me
Refernce: I learned this topics in FreeCodeCamp which I explained in minified version