O'Reilly logo

A Common-Sense Guide to Data Structures and Algorithms by Jay Wengrow

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

The Base Case

Let’s continue our walkthrough of the countdown function. We’ll skip a few steps for brevity…

Step #21: We call countdown(0).

Step #22: We print number (i.e., 0) to the console.

Step #23: We call countdown(-1).

Step #24: We print number (i.e., -1) to the console.

Uh oh. As you can see, our solution is not perfect, as we’ll end up stuck with infinitely printing negative numbers.

To perfect our solution, we need a way to end our countdown at 0 and prevent the recursion from continuing on forever.

We can solve this problem by adding a conditional statement that ensures that if number is currently 0, we don’t call countdown() again:

 function​ countdown(number) {
  console.log(number);
 if​(number === 0) {
 return​;
  } ​else ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required