function myFunction() {
diff = 2;
var l = 12;
b = document.getElementById("yee").value;
var a = Number(document.getElementById("base").value);
var aa = (a * b) / 100;
z = aa;
var r = "";
k = 0;
m = 0;
e = 0;
z = 0;
const yr_arr = [];
for (var i = 0; i < diff; i++) {
if (i) {
var hk = (aa * document.getElementById("per").value) / 100;
aa += Number(hk);
}
n = m;
for (var j = 0; j < l; j++) {
var d = ((aa * n) * 5) / 12 / 100;
var f = d+z;
r += k + 1 + ") " + aa.toFixed(2) + "---" + f.toFixed(2) + "<br/>";
k++;
n++;
yr_arr.push({ x: aa });
}
r += "";
m++;
z = z + d;
}
const yr_result = yr_arr.reduce( ( sum, { x } ) => sum + x , 0);
document.getElementById("yr_demo1").innerHTML += yr_result.toFixed(2);
document.getElementById("demo").innerHTML += r;
}
<div>
<span>Base Quantity</span>
<input type="text" id="base" value="10000" />
</div>
<div>
<span>Base Percent</span>
<input type="text" id="yee" value="12" />
</div>
<div>
<span>Whole Percent</span>
<input type="text" id="per" value="10" />
</div>
<button onclick="myFunction()">Click</button>
<p id="demo"></p>
<p id="yr_demo1"></p>
在这里,我试图计算一些百分比并显示它。此外,我试图获得第二列的总价值。我用javascript reduce实现了它。
例如,在上面的代码中,您可以看到1200显示12次,1320显示接下来的12次。我可以得到总值30240(12 * 1200 + 12 * 1320)。但是,我也希望每12个计数打印一次。我希望在12次计数后显示14400的值,在接下来的12次计数后显示15840的值。
输出,我期待的
您可以在第一个for循环中生成期间计算它,而不是在生成数组后计算总和。
然后你可以使用qazxsw poi检查你的索引i是否可被12整除并将你的行添加到r。
Remainder operator %
那么你不需要你的映射。