Javascript循环创建数组

时间:2017-11-06 01:42:20

标签: javascript arrays loops

我正在尝试制作一个接受一个输入的租赁计算器,并根据每个术语的不同费率输出4个选项(24,36,48,60)个月。我可以在没有循环的情况下完成所有操作,但似乎无法弄清楚如何在代码中使用toFixed(2)。所以,我尝试使用循环来循环输入*率。然后我添加了另一个循环用于toFixed函数,然后另一个循环来创建输出。我想我需要每个循环来创建一个我可以用于下一个的数组。我是一个菜鸟,所以对我来说很容易。我相信这对大多数人来说都是一个容易的问题。这就是我到目前为止所拥有的:

Function calculateTotal()
{    
"use strict";   
var theForm = document.forms["leaseCalc"];
var tec = document.getElementById("tec").value;  
var rates = [0.0477, 0.0329, 0.0256, 0.0212];
var months = [24, 36, 48, 60];

var monthlyPayments = 0;
for (var i=0; i < rates.length; i++) { 
    monthlyPayments += (tec * rates[i]);
}   
var formatTwo = 0;
for (var i=0; i < monthlyPayments.length; i++) {
    formatTwo += monthlyPayments.toFixed(2);
}
var results = 0;    
for (var i=0; i < months.length; i++) { 
    results += "<p>" + months[i] + " months = $" + formatTwo[i] + "</p>";
        alert(results);
}

1 个答案:

答案 0 :(得分:2)

你不需要做所有三个循环。 因为数组大小相同,只需迭代几个月并使用该索引访问其他数组:

var tec = document.getElementById("tec").value;  
var rates = [0.0477, 0.0329, 0.0256, 0.0212];
var months = [24, 36, 48, 60];

var results = '';    
for (var i=0; i < months.length; i++) { 
    results += "<p>" + months[i] + " months = $" + (tec * rates[i]).toFixed(2) + "</p>";
}

alert(results);