如何启动javascript';对于';在0(零)处循环?

如何启动javascript';对于';在0(零)处循环?,javascript,for-loop,Javascript,For Loop,我正在读一个叫myCookie的cookie,它的值是这样的1,2,3,4,9,11,23。然后我创建一个var testem=mycokie.split(“,”);现在我想使用这样一个“for of”循环中的每个值 var testem = myCookie.split(","); for (var i of testem) { alert(testem[i]); toggleCol(testem[I]); } 问题是警报总是从2开始,当

我正在读一个叫myCookie的cookie,它的值是这样的1,2,3,4,9,11,23。然后我创建一个var testem=mycokie.split(“,”);现在我想使用这样一个“for of”循环中的每个值

    var testem = myCookie.split(",");

    for (var i of testem) { 
      alert(testem[i]);
      toggleCol(testem[I]); 
    }
问题是警报总是从2开始,当然toggleCal函数也会。如何让它从第一个值开始,在这种情况下(但不总是1)?cookie值可能是3,4,5,6,9,12。在这种情况下,它应该从3开始,而不是从4开始。
谁能给我解释一下原因吗。然后告诉我如何从MyOkie的第一个值而不是第二个值开始?

for..of
使用数组迭代值,而不是属性标记。请改用普通值:

for (const item of testem) { 
  toggleCol(item); 
}
如果要迭代属性名称,请改用
for..in
循环(强烈不建议):

或者,您可以使用更合适的方法,
forEach

testem.forEach(toggleCol); // assuming toggleCol uses exactly one argument

for..of
与数组一起迭代值,而不是属性标记。请改用普通值:

for (const item of testem) { 
  toggleCol(item); 
}
如果要迭代属性名称,请改用
for..in
循环(强烈不建议):

或者,您可以使用更合适的方法,
forEach

testem.forEach(toggleCol); // assuming toggleCol uses exactly one argument

您的循环在值上迭代。所以“我”是一个值。不是index.split返回数组,那么为什么要使用for..而不是forEach?而你的代码并没有按照你说的做。给定“3,4,5,6,9,12”,它将从3开始,而不是从4开始。循环将在值上迭代。所以“我”是一个值。不是index.split返回数组,那么为什么要使用for..而不是forEach?而你的代码并没有按照你说的做。给定“3,4,5,6,9,12”,它将从3开始,而不是4。这正是我提问的原因,因为我学到了我不知道的东西。我使用testem.forEach,它工作得非常好。这正是我提问的原因,因为我学到了我不知道的东西。我使用testem.forEach,它工作得非常好。