我在Javascript里有5個方程,都非常相似,都是用一個數值除以60,然后再乘以另一個數值。 例如:
var a = 10;
var b = 1;
var c = 1;
var d = 15.5;
var e = 5
var a1 = 10;
var b1 = 1;
var c1 = 10;
var d1 = 15;
var e1 = 5; var e1 = 5.
var calcOne=(a/60)*a1
var calcTwo=(b/60)*b1
var calcThree = (c/60)*c1
var calcFour=(d/60)*d1
var calcFive=(e/60)*e1
var finalValue = (calcOne calcTwo calcThree calcFour calcFive)
**finalValue = 6.154**
前兩組變數的值可以改變,它們可以是任何數字,甚至是0,我想做的是將5次計算壓縮成1次,所以我希望能夠從一個方程式中得到'finalValue'(6.154)的值,而且我希望它能夠作業,無論值是什么,例如我不希望必須硬編碼它。
例如,我曾試過
((a b c d e)/60) * (a1 b1 c1 d1 e1)) = 22.2425 //第一組之和,除以60,再乘以第二組之和(數值太大)
(((a b c d e)/300) * (a1 b1 c1 d1 e1)) = 4.4485 //第一組之和除以300,再乘以第二組之和(除以300,因為有五個方程式)
((((a b c d e)/5)/60) * (a1 b1 c1 d1 e1)) = 4.4485 //第一組之和除以5,除以60,再乘以第二組之和(在60之前除以5,因為有五個方程式)
(((a b c d e)/60) *((a1 b1 c1 d1 e1/5))= 4.4485 //第一組之和,除以60,乘以第二組之和(除以5因為有5個方程式)
希望得到任何幫助,謝謝。
uj5u.com熱心網友回復:
你可以把所有的值放入陣列,然后減少陣列。
。const
a = [10, 1, 1, 15.5, 5] 。
b = [10, 1, 10, 15, 5] 。
r = a.reduce((s, v, i) =>/span> s v * b[i], 0) / 60。
console.log(r); / 6.154
<iframe name="sif1" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
稍好的方法是使用成對的值。
const
值=[[10, 10], [1, 1], [1, 10], [15. 5, 15], [5, 5] ]。
r = values.reduce((s, [a, b], i) =>/span> s a * b, 0) / 60。
console.log(r); / 6.154
<iframe name="sif2" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
uj5u.com熱心網友回復:
你可以直接使用這個公式
(a * a1 b * b1 c * c1 d * d1 e * e1)/60。
var a = 10;
var b = 1;
var c = 1;
var d = 15.5;
var e = 5
var a1 = 10;
var b1 = 1;
var c1 = 10;
var d1 = 15;
var e1 = 5; var e1 = 5.
var calcOne = (a / 60) * a1
var calcTwo = (b / 60) * b1
var calcThree = (c / 60) * c1
var calcFour = (d / 60) * d1
var calcFive = (e / 60) * e1
var finalValue = (calcOne calcTwo calcThree calcFour calcFive)。
var formula=(a * a1 b * b1 c * c1 d * d1 e * e1)/60。
console.log(finalValue,formula);
<iframe name="sif3" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
uj5u.com熱心網友回復:
你可以使用reduce
輕松實作這個結果。 。var a = 10;
var b = 1;
var c = 1;
var d = 15.5;
var e = 5;
var a1 = 10;
var b1 = 1;
var c1 = 10;
var d1 = 15;
var e1 = 5;
const first = [a, b, c, d, e];
const second = [a1, b1, c1, d1, e1];
const result = first. reduce((acc, curr, i) => acc (curr / 60) * second[i], 0) 。
console.log(result);
<iframe name="sif4" sandbox="allow-forms allow-modals allow-scripts" class="snippet-box-edit snippet-box-result" frameborder="0"></iframe>
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/331085.html
標籤:
下一篇:尋找特定素數的程式以無限回圈結束
