Javascript CoffeeScript中循环指针的增量
我有一个for循环,我在一个字符串上循环,当满足某些条件时,我想跳过当前字符串后面的一些字符。在JavaScript中,我会执行Javascript CoffeeScript中循环指针的增量,javascript,for-loop,coffeescript,Javascript,For Loop,Coffeescript,我有一个for循环,我在一个字符串上循环,当满足某些条件时,我想跳过当前字符串后面的一些字符。在JavaScript中,我会执行index+=2,它会起作用,但不知什么原因,CoffeeScript编译器将此代码编译成JSfor循环,该循环使用\u I变量来保持实际索引,并且只将当前值分配给索引,这意味着通过更改索引的值,我不是真的在改变指针 我知道我可以使用while循环来实现这一点,但我一直在想,一定有一种方法可以使用for循环来实现这一点。我是对的,还是应该在循环时坚持执行 以下是编译后的
index+=2
,它会起作用,但不知什么原因,CoffeeScript编译器将此代码编译成JSfor
循环,该循环使用\u I
变量来保持实际索引,并且只将当前值分配给索引
,这意味着通过更改索引的值,我不是真的在改变指针
我知道我可以使用while
循环来实现这一点,但我一直在想,一定有一种方法可以使用for
循环来实现这一点。我是对的,还是应该在循环时坚持执行
以下是编译后的JS代码:
for char, index in 'some string'
if condition
index += 2
var char,index,\u i,\u len,\u ref;
_ref='some string';
对于(索引=_i=0,_len=_ref.length;_i<_len;索引=++_i){
char=_ref[index];
如果(条件){
指数+=2;
}
}
看看:
您不能在CoffeeScript中更改for
循环的实际索引,AFAIK。您必须使用while
循环
var char, index, _i, _len, _ref;
_ref = 'some string';
for (index = _i = 0, _len = _ref.length; _i < _len; index = ++_i) {
char = _ref[index];
if (condition) {
index += 2;
}
}