Javascript CoffeeScript中循环指针的增量

Javascript CoffeeScript中循环指针的增量,javascript,for-loop,coffeescript,Javascript,For Loop,Coffeescript,我有一个for循环,我在一个字符串上循环,当满足某些条件时,我想跳过当前字符串后面的一些字符。在JavaScript中,我会执行index+=2,它会起作用,但不知什么原因,CoffeeScript编译器将此代码编译成JSfor循环,该循环使用\u I变量来保持实际索引,并且只将当前值分配给索引,这意味着通过更改索引的值,我不是真的在改变指针 我知道我可以使用while循环来实现这一点,但我一直在想,一定有一种方法可以使用for循环来实现这一点。我是对的,还是应该在循环时坚持执行 以下是编译后的

我有一个for循环,我在一个字符串上循环,当满足某些条件时,我想跳过当前字符串后面的一些字符。在JavaScript中,我会执行
index+=2
,它会起作用,但不知什么原因,CoffeeScript编译器将此代码编译成JS
for
循环,该循环使用
\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;
  }
}