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)); }; console.log(sumArrayOfFractions(arr));
出力
コンソールの出力は-
になります[ 1731, 140 ]
-
ボタンをクリックするだけのJavaScriptSum関数
次がボタンだとしましょう- <button type="button" onclick="addTheValue(10)">Sum </button> </body> ボタンクリック時にパラメーター10を指定して関数addTheValue(10)を呼び出しています。ボタンをクリックすると、次のコードのように値10が追加されます- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="
-
Arrayクラスのプロトタイプオブジェクトに存在するJavaScript関数
問題 Arrayクラスのプロトタイプオブジェクトに存在するJavaScript関数を作成する必要があります。この関数はコールバック関数を受け取る必要があり、この関数はコールバック関数がtrueを生成する最初の要素を返す必要があります。 現在の要素と現在のインデックスを、最初と2番目の引数としてコールバック関数にフィードする必要があります。 例 以下はコードです- const arr = [4, 67, 24, 87, 15, 78, 3]; Array.prototype.customFind = function(callback){ for(let i =