我正在读取一个名为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的第一个值而不是第二个值启动它?
答案 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