我希望有人可以告诉我如何基于两个不同的总和来填充数组。
var startingIncome = 30000;
var startingIncomeArr = [];
startingIncomeArr[0] = startingIncome;
for (var i = 1; i < 100; i++) {
if (i <= 45) {
startingIncome += (startingIncome / 100 * 3);
}else {
startingIncome += (((startingIncome / 100) * 3) / 2);
}
startingIncomeArr[i] = startingIncome;
}
基本上我希望在索引达到45之后填充数组,直到索引为45,然后在索引达到45之后更改为另一个总和(除以2)。
由于某种原因,总和在达到45之后永远不会被除以2。
对于我出错的地方的任何想法都将不胜感激。
编辑:
似乎我的总和已经结束了,我没有将全部金额分开。这是更正后的代码:
var startingIncome = 30000;
var startingIncomeArr = [];
startingIncomeArr[0] = startingIncome;
for (var i = 1; i < 100; i++) {
if (i <= 45) {
startingIncome += (startingIncome / 100 * 3);
}else {
startingIncome += (startingIncome / 100 * 3);
startingIncome /= 2;
}
startingIncomeArr[i] = startingIncome;
}
console.log(startingIncomeArr);
答案 0 :(得分:1)
我会将其作为两个连续循环来完成:
var startingIncome = 30000;
var startingIncomeArr = [];
var i;
startingIncomeArr[0] = startingIncome;
for (i = 1; i <= 45; i++) {
startingIncome += (startingIncome / 100 * 3);
startingIncomeArr[i] = startingIncome;
}
for (i = 46; i < 100; i++) {
startingIncome += (((startingIncome / 100) * 3) / 2);
startingIncomeArr[i] = startingIncome;
}
从for
语句本身可以清楚地看出逻辑涵盖了两个不同的范围。您还可以避免每次循环时都进行if
评估。