w3schools una pasar parametros otro objects llamar funciones funcion ejemplos ejemplo desde boton array anidadas javascript function fractions

otro - pasar parametros a una funcion javascript desde html



¿Hay una función de JavaScript que reduce una fracción (5)

Aquí hay una función recursiva usando ECMAScript 6 reduce. Funciona para la mayoría de las fracciones siempre que el resto no sea demasiado pequeño. 0 se ha redefinido para que funcione en arreglos como [1.2, 2.4, 12, 24]. Probé en Chrome e IE Edge por lo que puede comportarse de manera diferente en otros navegadores o actualizaciones. Por lo tanto, debería funcionar con una serie de flotadores.

Array.prototype.gcd = function () { if (this.length === 0) return null; return this.reduce((prev, curr) => { if (curr <= 1.00000000001e-12) return prev else return [curr, prev % curr].gcd(); }); } var reducedValueGCD = [1.2, 2.4, 12, 24, 240].gcd();

Buscar MDN reducir o más información here .

digamos que tenemos la fracción 2/4, se puede reducir a 1/2. ¿Hay alguna función de javascript que pueda hacer la reducción?


No, pero puedes escribir uno tú mismo con bastante facilidad. Básicamente, debes dividir las partes superior e inferior de la fracción por su "mayor denominador común" ... que puedes calcular a partir del algoritmo de Euclides.

Lea aquí para obtener más información: http://www.jimloy.com/number/euclids.htm

editar:

código (porque todos parecen estar haciéndolo, aunque esto no usa recursividad)

var FractionReduce = (function(){ //Euclid''s Algorithm var getGCD = function(n, d){ var numerator = (n<d)?n:d; var denominator = (n<d)?d:n; var remainder = numerator; var lastRemainder = numerator; while (true){ lastRemainder = remainder; remainder = denominator % numerator; if (remainder === 0){ break; } denominator = numerator; numerator = remainder; } if(lastRemainder){ return lastRemainder; } }; var reduce = function(n, d){ var gcd = getGCD(n, d); return [n/gcd, d/gcd]; }; return { getGCD:getGCD, reduce:reduce }; }()); alert(FractionReduce.reduce(3413358, 13427));


Para reducir una fracción, divide el numerador y el denominador por el Factor común más grande. Phrogz y David ya han proporcionado el código fuente ...

Sin embargo, si está buscando bibliotecas de JavaScript para manejar fracciones, aquí hay algunas para elegir.

  1. Fraction.js
  2. Math.Rational
  3. Ratio.js
  4. Rational.js

Aquí hay un ejemplo usando Ratio.js .

var a = Ratio(2,4); a.toString() == "2/4"; a.simplify().toString() == "1/2"; // reduce() returns a clone of the Ratio() a.toString() == "2/4"; // Ratio functions are non-destructive.


Sé que ya hay una respuesta, pero quiero compartir una biblioteca JS que encontré cuando buscaba algo para convertir números decimales en fracciones y reducir fracciones .

La biblioteca llama Fraction.js , que fue realmente útil para mí y me ahorró mucho tiempo y trabajo. Espero que pueda ser muy útil para otra persona!


// Reduce a fraction by finding the Greatest Common Divisor and dividing by it. function reduce(numerator,denominator){ var gcd = function gcd(a,b){ return b ? gcd(b, a%b) : a; }; gcd = gcd(numerator,denominator); return [numerator/gcd, denominator/gcd]; } reduce(2,4); // [1,2] reduce(13427,3413358); // [463,117702]