下面的 JavaScript 循环 for increment 正在工作,但 for decrement 没有。如何解决这个问题?
for(var i=1; i<5; i++) { alert(i); } work fine
for(var i=10; i<5; i--) { alert(i); } not working
下面的 JavaScript 循环 for increment 正在工作,但 for decrement 没有。如何解决这个问题?
for(var i=1; i<5; i++) { alert(i); } work fine
for(var i=10; i<5; i--) { alert(i); } not working
最好轻松检查它...以减少使用
for (var i = 10; i > 5; i--) { alert(i); }
您对第二个 for 循环的条件检查不正确。你说 i=10,并在 i<5 时继续,这永远不会。
尝试
for(var i=10; i>5; i--) { alert(i); }
第一个循环以i = 1
并递增,因此i = [1, 2, 3, 4]
while i < 5
。第二个以 开头i=10
,但主体永远不会执行,因为它应该只在 时运行i < 5
。
你想要的可能是:
for (var i = 10; i > 5; i--) { alert(i); }
“for”循环的第二个参数是退出条件。只要条件为真,就会执行 for 循环中的代码。例如:
for(var i = 0; i < 10; i++){
console.log([i]);
}
i
小于10
( i < 10
),这是因为在第一个实例中 i = 0,因此循环进入代码块并运行代码,然后递增并继续,直到退出条件为不再是真的。for (var i = 10; i < 5; i--){alert[i]}
for循环中的代码永远不会执行,因为退出条件的i < 5
计算结果为假(i
等于10
)。为了实现您的目标,您必须将for
for 循环的退出条件更改为:
for (var i = 10; i > 5; i--) {
alert([i]);
}
您可以通过将 i 设置为您正在迭代的长度来使其更具动态性:
const string = "abcd";
for (let i = string.length; i > 0; i--) {
console.log(str[i]);
}
注意:如果您将条件设置为,i >= 0
您将忽略数组或字符串中的最后一个元素,因为它的索引基数为 0。