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

标签 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 的第一个值而不是第二个值启动它?

最佳答案

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

关于javascript - 如何在 0(零)处启动 javascript 'for of' 循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54338614/

相关文章:

javascript - 为什么第四个嵌套值的访问速度比第五个慢?

javascript - 如何计算 dataLabels 下的 X 和 Y 坐标,我们的数据值是动态的

java - 制作任何东西的通用参数化类型

java - 如何打破方法中的循环

javascript - 如何使用循环更改复选框和单选标签和值?

javascript - 模块导出习惯用法之间的区别

javascript - react : Avoid re-rendering of Component on state change

javascript - 在 Javascript 中使用 innerHTML 将 for 循环的结果写入网页

java - 在Java中为条件声明不同类型的变量

javascript - 如何将jquery注入(inject)到任何网页