我正在读取一个名为 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/