![](/img/trans.png)
[英]I need to merge objects. They all have the same keys but differing numerical values. I need to get the sum of values for each key
[英]I need to get a sum of values
我在这里抽筋
我有一个函数,用于计算每年10,000美元的投资价值。 我使用一个数组来保存年收益率。 换句话说,一个人将在十年内投资100,000美元。 首笔10,000美元的投资期限为10年,接下来的10,000美元的投资期限为9年,依此类推,最后的10,000美元的投资期限仅为一年。 在每年的年初进行投资,并在每年的年底计算回报率。
这是我的代码
//这是包含收益率的数组
var值= [32.60,7.44,-10.46,43.72,12.06,0.34,26.64,-8.81,22.61,16.42]
变率 var FV; var PV;
function doit() {
var result=document.getElementById("result");
for (j=0;j<values.length;j++){
PV=10000;
for (i=j;i<values.length;i++){
rate = values[i]/100;
FV = (PV * (1+rate));
PV = FV;
}
PV=Number(PV).toFixed(2);
result.innerHTML+="$" + PV + "<br>";
}
}
这是html输出:
$ 33981.31-(10年后价值$ 10,000)
$ 25626.93-(9年后下一个$ 10,000的价值)
$ 23852.32-(8年后接下来的$ 10,000的价值)
$ 26638.73-(等)
$ 18535.16
$ 16540.39
$ 16484.34
$ 13016.69
$ 14274.26
$ 11642.00-(1年后最后$ 10000的价值)
这些是我的循环生成的变量PV的值
我的问题是如何获得这些值的总和以显示投资的总价值,即,十年中每年投资10,000美元的结果。 实际结果是$ 200,592.13
TIA
您可以在函数上方声明一个总变量:
var total = 0 ;
function doit()
{
...
total += PV; // (this is at the end of the function)
}
function gettotal()
{
result.innerHTML += "Total: $" + total;
}
您想查看总金额吗? 看起来很简单。
var sum = 0;
and inside cycle: sum = sum + PV
我觉得你还需要其他东西
使用+=
运算符可将其附加到循环外的变量中。 为了获得最高的准确性和速度,您应该在使用toFixed
之前附加您的电话号码,因为它固定在两个楼层并将其转换为字符串。
function doit() {
var sum = 0;
for (j=0;j<values.length;j++){
...
sum += PV; // Add to sum, best to do before flooring it
PV=Number(PV).toFixed(2);
}
return sum;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.