2017-08-11 4 views
0

Ich bin neu in JS-Programmierung und fragte mich, was der beste Weg ist, mehrere Parameter innerhalb einer Funktion zu durchlaufen.Looping-Parameter in JS-Funktionen

Als Beispiel möchte ich eine zusammengesetzte Zinsformel berechnen, die die Ergebnisse mit einer Reihe von Zinssätzen (var y) und verschiedenen Zeithorizonten einer Anlage (var z) ausgibt.

Ich könnte meinen Code mit einer Schleife arbeiten (siehe unten), aber nicht verstehen, wie ich es mit zwei Variablen arbeiten lassen könnte (durch x und y). Y sollte folgende Schleife haben:

für (y = 0; y> = 10; y ++)

Könnten Sie mir in die Richtung?

sehr geschätzt.

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)); 
} 

} 
+4

vielleicht haben Sie sta rt bei korrekter Benennung der Parameter, wie Kapital, Zinssatz und Jahr –

+0

bitte auch das gewünschte Ergebnis hinzufügen. –

Antwort

0

Sie könnten für das Ergebnis zwei verschachtelte for Loops und eine verschachtelte Array.

Das Ergebnis sieht wie folgt aus:

[ 
    [    // 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; }

0

Beschreiben Sie Ihre Variablen in einer Schleife

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 
}