javascript - 函数中的for循环只循环一次
问题描述
函数内的以下循环getNew()
仅循环一次并返回19800
正确的,如果月份等于1
。我想继续getNew()
循环。说如果月份等于3
它将打印:19800, 197195.80, 195787.39
。
arr1 = [200000, 0.003, 2000];
function getNew (month) {
for (i = 0; i <= month; i ++){
monthlyInterest = arr1[0] * arr1[1]
paymenttoPrinciple = arr1[2] - monthlyInterest;
newMortgageBalance = arr1[0] - paymenttoPrinciple;
arr1[0] = newMortgageBalance;
return (newMortgageBalance);
}
}
解决方案
你有一个return
内部for
循环。这将返回第一个实例并退出函数。另外,如果month = 3
您必须更改i <= month
为i < month
.
要解决您的问题,您应该制作另一个数组并将结果推送给它。
例如
arr1 = [200000, 0.003, 2000];
console.log(getNew(3));
function getNew(month) {
let result = [];
for (i = 0; i < month; i++) {
monthlyInterest = arr1[0] * arr1[1]
paymenttoPrinciple = arr1[2] - monthlyInterest;
newMortgageBalance = arr1[0] - paymenttoPrinciple;
arr1[0] = newMortgageBalance;
result.push(newMortgageBalance);
}
return result;
}
.as-console-wrapper { top: 0; max-height: 100% !important; }
getNew(3)
返回[19800, 197195.80, 195787.39]
。
推荐阅读
- java - 如何使用pdfbox在内容中设置超链接
- android - 未找到来自低功耗蓝牙的服务(Delphi + Android)
- matlab - 在 MATLAB 中生成枚举矩阵
- winapi - 模拟鼠标左下和右下
- python - 如何在 Python 中检查变量的值是否已更新
- scala - 复制apache spark中的记录数
- jmeter - 1 请求发送多次与步进线程组
- makefile - 这些代码行在 makefile 中是什么意思?你能向我解释这个例子吗?
- angular - 在 CKEditor 中使用 ckeditor5-typing 包
- python - Python Pandas Dataframe loop iteration