Javascript 利息计算器,如何 return 两种不同利率的值
Javascript interest calculator, how to return values with two different rates
我有这个收入计算器功能
EarningsCalculator.prototype.computeEarning = function (rate, investedValue) {
var earnings = {};
var currentState = investedValue;
for (var i = 0; i <= 5; i++) {
earning=currentState*rate;
currentState = currentState + earning;
earnings[i] = currentState;
}
return earnings;
}
它需要一个 "invested value" 并根据给定的比率计算收入,在这种情况下,使用 for 循环限制为 5 年。我需要以 1 年为间隔计算 earnings[0]
,以 5 年为间隔计算 earnings[1]
到 earnings[4]
。
因此,如果投资值为 1000,利率为 10%,returns 5 年的产出如下
Year1 = 1100
Year2 = 1210
Year3 = 1331
Year4 = 1464.1
Year5 = 1610.51
我要的是这个
Year1 = 1100
Year5 = 1610.51
Year10 = 2593.74246
Year15 = 4177.248169
Year20 = 6727.499949
您可以使用公式计算收入。
function getPeriodicCompounding(p, r, t) {
return Math.pow(r + 1, t) * p;
}
var originalPrincipalSum = 1000,
interestRate = 0.1,
times = [1, 5, 10, 15, 20]
times.forEach(function (time) {
console.log(time, getPeriodicCompounding(originalPrincipalSum, interestRate, time));
});
您可以在 for 循环中对年份使用模数以仅添加可被 5 整除的年份。然后为第一年添加另一个 or 条件:
function EarningsCalculator (rate, investedValue) {
var earnings = {};
var currentState = investedValue;
var YEAR_INTERVAL = 5;
var YEARS_COMPOUNDING = 20;
for (var i = 1; i <= YEARS_COMPOUNDING; i++) {
earning=currentState*rate;
currentState = currentState + earning;
if (i % YEAR_INTERVAL == 0 || i == 1) {
earnings[i] = currentState;
}
}
return earnings;
}
var earnings = [];
earnings = EarningsCalculator(.10,1000);
console.log(earnings);
这应该会在控制台中将正确的值记录到您的对象中。
这样做的一个好处是能够将您的年度间隔更改为变量,而不是将这些值硬编码在数组中以用于不同的时间段。
我有这个收入计算器功能
EarningsCalculator.prototype.computeEarning = function (rate, investedValue) {
var earnings = {};
var currentState = investedValue;
for (var i = 0; i <= 5; i++) {
earning=currentState*rate;
currentState = currentState + earning;
earnings[i] = currentState;
}
return earnings;
}
它需要一个 "invested value" 并根据给定的比率计算收入,在这种情况下,使用 for 循环限制为 5 年。我需要以 1 年为间隔计算 earnings[0]
,以 5 年为间隔计算 earnings[1]
到 earnings[4]
。
因此,如果投资值为 1000,利率为 10%,returns 5 年的产出如下
Year1 = 1100
Year2 = 1210
Year3 = 1331
Year4 = 1464.1
Year5 = 1610.51
我要的是这个
Year1 = 1100
Year5 = 1610.51
Year10 = 2593.74246
Year15 = 4177.248169
Year20 = 6727.499949
您可以使用公式计算收入。
function getPeriodicCompounding(p, r, t) {
return Math.pow(r + 1, t) * p;
}
var originalPrincipalSum = 1000,
interestRate = 0.1,
times = [1, 5, 10, 15, 20]
times.forEach(function (time) {
console.log(time, getPeriodicCompounding(originalPrincipalSum, interestRate, time));
});
您可以在 for 循环中对年份使用模数以仅添加可被 5 整除的年份。然后为第一年添加另一个 or 条件:
function EarningsCalculator (rate, investedValue) {
var earnings = {};
var currentState = investedValue;
var YEAR_INTERVAL = 5;
var YEARS_COMPOUNDING = 20;
for (var i = 1; i <= YEARS_COMPOUNDING; i++) {
earning=currentState*rate;
currentState = currentState + earning;
if (i % YEAR_INTERVAL == 0 || i == 1) {
earnings[i] = currentState;
}
}
return earnings;
}
var earnings = [];
earnings = EarningsCalculator(.10,1000);
console.log(earnings);
这应该会在控制台中将正确的值记录到您的对象中。
这样做的一个好处是能够将您的年度间隔更改为变量,而不是将这些值硬编码在数组中以用于不同的时间段。