Reduce a fraction to its simplest form by using JavaScript

A fraction is simplified if there are no common factors (except 1) between the numerator and the denominator. For example, 4/6 is not simplified, since 4 and 6 both share 2 as a factor. If improper fractions can be transformed into integers. There are two possible ways to simplify the fraction by using JavaScript.
- Using math.js simplify() Function
- Using JavaScript _.reduce() Function
The below examples will illustrate the approach:
Using math.js simplify() function: In this function, few rules are applied to the expression, you can create your own custom-made rules. Basically, this function is like a lambda function. Where you can make the rules according to your requirements
Program:
javaScript
| // main function functionsimplify(str) {     varresult = '', data = str.split('/'),         numOne = Number(data[0]),         numTwo = Number(data[1]);     for(vari = Math.max(numOne, numTwo); i > 1; i--) {     if((numOne % i == 0) && (numTwo % i == 0)) {         numOne /= i;         numTwo /= i;     }     }     if(numTwo === 1) {     result = numOne.toString()     } else{     result = numOne.toString() + '/'+ numTwo.toString()     }     returnresult } console.log(simplify("4/6"));  console.log(simplify(84810,985612)); | 
Output:
2/3 42405/492806
Using JavaScript _.reduce() function: The _.reduce() is an inbuilt function in JavaScript which is used to transform an array’s / object’s properties into one single value or is used to create a single result from a given list of values. When all the elements of the list are passed to the function/iterate and no more elements remain then the _.each loop ends. Here we will find the GCD of those numbers and dividing it by GCD we can make the output simpler.
Program:
Javascript
| // Simplified fraction by finding the GCD and dividing by it. functionreduce(number,denomin){ vargcd = functiongcd(a,b){     returnb ? gcd(b, a%b) : a; }; gcd = gcd(number,denomin); return[number/gcd, denomin/gcd]; }  console.log(reduce(15,20));  console.log(reduce(84810,985612)); | 
Output:
3,4 42405,492806
 
				 
					


