除了i++和++i,在Javascript中还有其他方法来递增for循环吗?例如,我想递增3而不是1。
i++
++i
for
for (var i = 0; i < myVar.length; i+3) { //every three }
hl0ma9xz1#
使用+=赋值运算符:
+=
for (var i = 0; i < myVar.length; i += 3) {
从技术上讲,您可以将任何表达式放在for循环的最终表达式中,但它通常用于更新计数器变量。有关for循环每个步骤的详细信息,请参阅check out the MDN article。
a6b3iqyw2#
一个for循环:
for(INIT; TEST; ADVANCE) { BODY }
指以下内容:
INIT; while (true) { if (!TEST) break; BODY; ADVANCE; }
几乎可以为INIT、TEST、ADVANCE和BODY编写任何表达式。请注意,++操作符和变体是具有副作用的操作符(如果不像i+=1等那样使用它们,则应尽量避免使用它们):
INIT
TEST
ADVANCE
BODY
++
i+=1
i+=1; return i
oldI=i; i+=1; return oldI
示例:
> i=0 > [i++, i, ++i, i, i--, i, --i, i] [0, 1, 2, 2, 2, 1, 0, 0]
rmbxnbpk3#
for (var i = 0; i < 10; i = i + 2) { // code here }
iaqfqrcu4#
安德鲁·惠特克的答案是正确的,但你可以用任何表达来表达任何部分。只需记住第二个(中间)表达式应该求值,以便它可以与布尔值true或false进行比较。当我使用for loop时,我认为它是
true
false
for (var i = 0; i < 10; ++i) { /* expression */ }
作为
var i = 0; while( i < 10 ) { /* expression */ ++i; }
bxjv4tth5#
for (var i = 0; i < myVar.length; i+=3) { //every three }
Operator Example Same As ++ X ++ x = x + 1 -- X -- x = x - 1 += x += y x = x + y -= x -= y x = x - y *= x *= y x = x * y /= x /= y x = x / y %= x %= y x = x % y
lsmd5eda6#
你当然可以。其他人已经正确地指出,你需要做i += 3。你不能做你所张贴的,因为你在这里所做的是添加i + 3,但从来没有分配结果回i。i++只是i = i + 1的缩写,类似地i +=3是i = i + 3的缩写。
i += 3
i + 3
i
i = i + 1
i +=3
i = i + 3
bfnvny8b7#
对于那些希望增加数字对(如1-2到3-4)的人:解决方案一:
//initial values var n_left = 1; var n_right = 2; for (i = 1; i <= 5; i++) { console.log(n_left + "-" + n_right); n_left =+ n_left+2; n_right =+ n_right+2; } //result: 1-2 3-4 5-6 7-8 9-10
解决方案二:
for (x = 0; x <= 9; x+=2) { console.log((x+1) + "-" + (x+2)); } //result: 1-2 3-4 5-6 7-8 9-10
1sbrub3j8#
三元运算符的最后一部分用于指定增量步长。例如,i++表示增量为1。i+=2与i=i+2相同,......等等。示例:
let val= []; for (let i = 0; i < 9; i+=2) { val = val + i+","; } console.log(val);
预期成果:二、四、六、八“i”可以是任何浮点数或整数,这取决于期望的步长。
kqhtkvqz9#
这里有一个运算符,例如,如果我想把变量i的值改为3,那么:
var someValue = 9; var Increment = 3; for(var i=0;i<someValue;i+=Increment){ //do whatever }
减小,使用-=
var someValue = 3; var Increment = 3; for(var i=9;i>someValue;i+=Increment){ //do whatever }
9条答案
按热度按时间hl0ma9xz1#
使用
+=
赋值运算符:从技术上讲,您可以将任何表达式放在for循环的最终表达式中,但它通常用于更新计数器变量。
有关for循环每个步骤的详细信息,请参阅check out the MDN article。
a6b3iqyw2#
一个
for
循环:指以下内容:
几乎可以为
INIT
、TEST
、ADVANCE
和BODY
编写任何表达式。请注意,
++
操作符和变体是具有副作用的操作符(如果不像i+=1
等那样使用它们,则应尽量避免使用它们):++i
表示i+=1; return i
i++
表示oldI=i; i+=1; return oldI
示例:
rmbxnbpk3#
iaqfqrcu4#
安德鲁·惠特克的答案是正确的,但你可以用任何表达来表达任何部分。
只需记住第二个(中间)表达式应该求值,以便它可以与布尔值
true
或false
进行比较。当我使用
for
loop时,我认为它是作为
bxjv4tth5#
lsmd5eda6#
你当然可以。其他人已经正确地指出,你需要做
i += 3
。你不能做你所张贴的,因为你在这里所做的是添加i + 3
,但从来没有分配结果回i
。i++
只是i = i + 1
的缩写,类似地i +=3
是i = i + 3
的缩写。bfnvny8b7#
对于那些希望增加数字对(如1-2到3-4)的人:
解决方案一:
解决方案二:
1sbrub3j8#
三元运算符的最后一部分用于指定增量步长。例如,i++表示增量为1。i+=2与i=i+2相同,......等等。示例:
预期成果:二、四、六、八
“i”可以是任何浮点数或整数,这取决于期望的步长。
kqhtkvqz9#
这里有一个运算符,例如,如果我想把变量i的值改为3,那么:
减小,使用-=