for (i=1; i<101; i=i+1){
console.log(i)
}
我使这个循环从1到100计数,我需要的是每10个数字将添加值从i ++更改为i = i + 5。
示例:
1 2 3 4 5 6 7 8 9 (skip) 15 16 17 18 19 20 21 22 23 (skip) 29...
答案 0 :(得分:2)
如果值超过某个限制,您可以使用额外的5
添加检查和增量。
基本上你想要这个结果
1 2 3 4 5 6 7 8 9 15 16 17 18 19 20 21 22 23 29 30 31 32 33 34 35 36 37 43 44 45 46 47 48 49 50 51 57 58 59 60 61 62 63 64 65 71 72 73 74 75 76 77 78 79 85 86 87 88 89 90 91 92 93 99 100
以及在第一行末尾看到的内容,9的值是一个固定值,列中的每个下一个值都是一个值,它将上面一行的值加14。
你需要通过减去9
来消除起始值以获得没有偏移的标准化值,你需要用14检查模数,如果模数是模数,则只需要加5
的值零。
这意味着仅使用9
,23
,37
,52
,...等值,您需要添加5
的值
var result = [],
i;
for (i = 1; i < 101; i += 1 + 5 * !((i - 9) % 14)) {
result.push(i);
}
console.log(result.join(' '));
&#13;
答案 1 :(得分:0)
您似乎希望在每5
之后跳过9
步骤,
var maxValue = 101;
var stepsToSkip = 5;
var stepsToSkipAfter = 9;
for (var i = 1; i < maxValue; i = i + stepsToSkipAfter)
{
for( var j = i; j < i + stepsToSkipAfter && j < maxValue; j++ )
{
console.log(j);
}
i = i + stepsToSkip;
}
&#13;
注意强>
答案 2 :(得分:0)
根据条件增加值。
var res = [];
// use variable `j` for counting and
// calculate increment value based on that
// on every 10th element you need to skip next 5 elements
// so use j for counting and based on the remainder
// increment with 6 or 1 and while skipping increment the counter as well
for (var i = 1, j = 1; i < 101; j++, i += j % 10 ? 1 : (j++, 6)) {
res.push(i)
}
console.log(res.join(', '));
&#13;
答案 3 :(得分:0)
做一些数学运算并查看你的序列,很明显我们需要在i = 14n+10
时跳过。你可以把它放在for循环的步骤部分:
for (i = 1; i < 101; i = i + ((i + 5) % 14 == 0 ? 6 : 1)){
console.log(i)
}
答案 4 :(得分:0)
var j = 0;
for (i = 1; i <= 100; i++) {
if (j === 9) {
j = 0;
i += 5;
} else {
console.log(i);
j++;
}
}