I am new to JS programming and wondered what the best way is to loop through multiple parameters inside a function.
As an example I would like to compute a compounded interest formula that prints out the results with a range of interest rates (var y) and different time horizons of an investment (var z).
I could get my code to work with one loop (please see below) but don´t get the hang of how I could make it work with two variables (looping through x and y). Y should have the following loop:
for ( y = 0; y >= 10; y++)
Could you point me into the direction?
Much appreciated.
var futureValue = function formula (x,y,z) {
a = x * (Math.pow (1+y/100, z)); // where x is starting amount of money(principal), y is real interest rate in %, and z is the number of years for the investment
return a;
}
for (z = 0; z <20; z++){
console.log(futureValue (10000,5,z));
}
}
You could use two nested for
loops and a nested array for the result.
The result looks like this:
[ [ // year zero with no interest "10000.00", "10000.00" // ... ], [ // year one with interest "10100.00", // with 1 % "10200.00", // with 2 % "10300.00", // with 3 % "10400.00", // with 4 % "10500.00", // with 5 % "10600.00", // with 6 % "10700.00", // with 7 % "10800.00", // with 8 % "10900.00" // with 9 % "11000.00", // with 10% ], [ // year two with interest "10201.00", "10404.00", // ... ], // ... ]
function futureValue(capital, interestRate, years) { return capital * Math.pow(1 + interestRate / 100, years); } var year, interestRate, temp, result = []; for (year = 0; year < 20; year++) { temp = []; for (interestRate = 1; interestRate <= 10; interestRate++) { temp.push(futureValue(10000, interestRate, year).toFixed(2)); } result.push(temp); } console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }
Describe your variables in a loop
function formula (x,y,z) {
a = x * (Math.pow (1+y/100, z)); // where x is starting amount of money(principal), y is real interest rate in %, and z is the number of years for the investment
return a;
}
for (var z =0; z <20; z++){
var x=1000;
var y=5;
console.log(formula(x,y,z));
x++;//code for x on each iteration
y++ // code for y
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.