JS函数中的循环参数

时间:2017-08-11 11:54:02

标签: javascript function loops parameters

我是JS编程的新手,并想知道在函数内部循环多个参数的最佳方法是什么。

作为一个例子,我想计算一个复合利息公式,用一系列利率(var y)和投资的不同时间范围打印出结果(var z)。

我可以让我的代码使用一个循环(请参见下文),但是我不知道如何使用两个变量(循环遍历x和y)。 Y应该有以下循环:

for(y = 0; y> = 10; y ++)

你能指出我的方向吗?

非常感谢。

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

}

2 个答案:

答案 0 :(得分:0)

您可以使用两个嵌套的for循环和一个嵌套数组作为结果。

结果如下:

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

答案 1 :(得分:0)

在循环中描述您的变量

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
}