# JavaScript Recursion - Exercises, Practice, Solution

## JavaScript Recursion [9 exercises with solution]

[*An editor is available at the bottom of the page to write and execute the scripts.*]

Use recursion to solve the following exercises.

**1. **Write a JavaScript program to calculate the factorial of a number. ** **Go to the editor

In mathematics, the factorial of a non-negative integer n, denoted by n!, is the product of all positive integers less than or equal to n. For example, 5! = 5 x 4 x 3 x 2 x 1 = 120

Click me to see the solution

**2. **Write a JavaScript program to find the greatest common divisor (gcd) of two positive numbers. ** **Go to the editor

Click me to see the solution.

**3. **Write a JavaScript program to get the integers in range (x, y). ** **Go to the editor

*Example* : range(2, 9)

*Expected Output :* [3, 4, 5, 6, 7, 8]

Click me to see the solution.

**4. **Write a JavaScript program to compute the sum of an array of integers. ** **Go to the editor

Example : var array = [1, 2, 3, 4, 5, 6]

*Expected Output :* 21

Click me to see the solution.

**5. **Write a JavaScript program to compute the exponent of a number. ** **Go to the editor

Note : The exponent of a number says how many times the base number is used as a factor.

8^{2} = 8 x 8 = 64. Here 8 is the base and 2 is the exponent.

Click me to see the solution.

**6. **Write a JavaScript program to get the first n Fibonacci numbers. ** **** **Go to the editor

Note : The Fibonacci Sequence is the series of numbers: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, . . . Each subsequent number is the sum of the previous two.

Click me to see the solution.

**7. **Write a JavaScript program to check whether a number is even or not. ** **** **Go to the editor

Click me to see the solution.

**8. **Write a JavaScript program for binary search. ** **** **Go to the editor

*Sample array * : [0,1,2,3,4,5,6]

console.log(l.br_search(5)) will return '5'

Click me to see the solution.

**9. **Write a merge sort program in JavaScript. ** **** **Go to the editor

*Sample array * : [34,7,23,32,5,62]

*Sample output * : [5, 7, 23, 32, 34, 62]

Click me to see the solution.

**More to Come ! **

* To run the code mouse over on Result panel and click on 'RERUN' button.*

**Live Demo: **

See the Pen javascript-common-editor by w3resource (@w3resource) on CodePen.

## JavaScript: Tips of the Day

**Applies a function against an accumulator and each key in the object (from left to right)**

Example:

const transform = (obj, fn, acc) => Object.keys(obj).reduce((a, k) => fn(a, obj[k], k, obj), acc); console.log(transform( { a: 1, b: 2, c: 1 }, (r, v, k) => { (r[v] || (r[v] = [])).push(k); return r; }, {} )); // { '1': ['a', 'c'], '2': ['b'] }

Output:

[object Object] { 1: ["a", "c"], 2: ["b"] }

**New Content published on w3resource:**- Scala Programming Exercises, Practice, Solution
- Python Itertools exercises
- Python Numpy exercises
- Python GeoPy Package exercises
- Python Pandas exercises
- Python nltk exercises
- Python BeautifulSoup exercises
- Form Template
- Composer - PHP Package Manager
- PHPUnit - PHP Testing
- Laravel - PHP Framework
- Angular - JavaScript Framework
- React - JavaScript Library
- Vue - JavaScript Framework
- Jest - JavaScript Testing Framework