如何在0(零)处启动javascript“ for of”循环?

时间:2019-01-24 02:37:32

标签: javascript for-loop

我正在读取一个名为myCookie的cookie,其值类似于1,2,3,4,9,11,23。然后创建一个var testem = myCookie.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开始。 有人可以向我解释原因。然后告诉我如何从myCookie的第一个值而不是第二个值启动它?

1 个答案:

答案 0 :(得分:3)

带有数组的

for..of遍历,而不遍历属性索引。改用普通值:

for (const item of testem) { 
  toggleCol(item); 
}

如果要遍历属性名称,请改用for..in循环(强烈建议不要这样做):

for (const i in testem) { 
  toggleCol(testem[i]); 
}

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

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