简体   繁体   中英

Looping Parameters in JS Functions

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM