# JavaScript: Calculate the greatest common divisor between two or more numbers/arrays

## JavaScript fundamental (ES6 Syntax): Exercise-223 with Solution

Write a JavaScript program to calculate the greatest common divisor between two or more numbers/arrays.

- The inner _gcd function uses recursion.
- Base case is when y equals 0. In this case, return x.
- Otherwise, return the GCD of y and the remainder of the division x/y.

**Sample Solution:**

**JavaScript Code:**

```
// Define a function 'gcd' to calculate the greatest common divisor (GCD) of multiple numbers
const gcd = (...arr) => {
// Define a helper function '_gcd' to recursively calculate GCD using Euclidean algorithm
const _gcd = (x, y) => (!y ? x : gcd(y, x % y));
// Reduce the input array to find the GCD of all numbers using the '_gcd' function
return [...arr].reduce((a, b) => _gcd(a, b));
};
// Log the GCD of two numbers (8 and 36) and multiple numbers (12, 8, and 32)
console.log(gcd(8, 36)); // Output: 4 (GCD of 8 and 36)
console.log(gcd(...[12, 8, 32])); // Output: 4 (GCD of 12, 8, and 32)
```

Output:

4 4

**Visual Presentation:**

**Flowchart:**

**Live Demo: **

See the Pen javascript-basic-exercise-223-1 by w3resource (@w3resource) on CodePen.

**Improve this sample solution and post your code through Disqus**

**Previous:** Write a JavaScript program that initializes an array containing the numbers in the specified range where start and end are inclusive and the ratio between two terms is step. Returns an error if step equals 1.

**Next:** Write a JavaScript program to remove HTML/XML tags from string.

**What is the difficulty level of this exercise?**

Test your Programming skills with w3resource's quiz.

**It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.**

https://www.w3resource.com/javascript-exercises/fundamental/javascript-fundamental-exercise-223.php

**Weekly Trends and Language Statistics**- Weekly Trends and Language Statistics