javascript

What Are Recursive Functions?

A recursive function is one which defines a problem in terms of itself.

A recursive function calls itself directly or indirectly until it is stopped. If it is not stopped, then it will call itself forever.

Recursive functions let you perform a unit of work multiple times.

And while it is similar to the workings of a for / while loop, using recursive solutions affords a unique, faster and much more elegant approach to solving a problem.

Let’s write a countdown function, shall we:

  1. Using Loop.
countDown = (num) => {
for(let i = num; i>0; i--){
console.log(i);
}
}
countDown(6) //5,4,3,2,1

2. Using Recursion

countDown = (num) => {
if(num === 0)
return 0;
console.log(num);
countDown(num-1);
}
countDown(6) //5,4,3,2,1

Base Case

A recursive function usually contains what is referred to as a base case.

A base case is a condition that checks and stops the recursion.

In our above example, the condition:

if(num === 0)
return 0;

is the base case, a condition that checks our program.

Task: sum all numbers until the given one.

Solution:

Using recursion …

function sumAll(val){
if(n === 0){
return 0;
}else{
return val +=sumAll(val-1)
}
}
alert(sumAll(5)) //15

Recent Posts

Building an Offline-Friendly Image Upload System

Most image upload systems assume one thing: the user has a stable internet connection. That assumption…

5 hours ago

JavaScript Background Sync API

Imagine a user submits a form while their internet connection suddenly disappears. Normally, the request…

12 hours ago

10 Signs Your PC Has Been Hacked

Cybercriminals don't always announce their presence. Many compromises are designed to remain unnoticed for weeks…

1 week ago

What Killed jQuery?

For years, jQuery was everywhere. If you were building websites in the 2010s, there was a…

1 week ago

How to Resolve Git Merge Conflicts

Few things halt a developer’s flow faster than seeing the dreaded word: CONFLICT. A Git merge…

2 weeks ago

How to Create REST APIs in Java Spring Boot

Spring Boot is one of the most popular frameworks for building REST APIs in Java.…

2 weeks ago