Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

分数の合計を見つける-JavaScript


このような配列の配列があります-

const arr = [[12, 56], [3, 45], [23, 2], [2, 6], [2, 8]];

配列には任意の数の要素を含めることができますが、各サブ配列には厳密に2つの数値を含める必要があることに注意してください。

各サブアレイの2つの数値は、分数を表します。たとえば、最初のサブアレイで表される分数は12/56で、2番目のサブアレイで表される分数は3/45などです。

このような配列を1つ取り込んで、すべてのサブ配列で表される分数の合計を計算するJavaScript関数を作成する必要があります。合計を分数形式で計算します(つまり、小数に変換せずに)。結果の分数を表す2つの要素の配列として合計を返します。

以下はコードです-

const arr = [[12, 56], [3, 45], [23, 2], [2, 6], [2, 8]];
const gcd = (a, b) => {
   let num = 2, res = 1;
   while(num <= Math.min(a, b)){
      if(a % num === 0 && b % num === 0){
         res = num;
      };
      num++;
   };
   return res;
}
const sumFrac = (a, b) => {
   const aDenom = a[1], aNumer = a[0];
   const bDenom = b[1], bNumer = b[0];
   let resDenom = aDenom * bDenom;
   let resNumer = (aDenom*bNumer) + (bDenom*aNumer);
   const greatestDivisor = gcd(resDenom, resNumer);
   return [resNumer/greatestDivisor, resDenom/greatestDivisor];
};
const sumArrayOfFractions = arr => {
   return arr.reduce((acc, val) => sumFrac(acc, val));
};

出力

以下はコンソールの出力です-

[ 1731, 140 ]

  1. JavaScriptConst

    JavaScriptのconst宣言は、他の値に再割り当てしたり、後で再宣言したりできない変数を作成します。 ES2015で導入されました。 以下はJavaScriptconst宣言のコードです- 例 <!DOCTYPE html> <html> <head> <style>    body {       font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;    } </sty

  2. ボタンをクリックするだけのJavaScriptSum関数

    次がボタンだとしましょう- <button type="button" onclick="addTheValue(10)">Sum </button> </body> ボタンクリック時にパラメーター10を指定して関数addTheValue(10)を呼び出しています。ボタンをクリックすると、次のコードのように値10が追加されます- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="