我的Javascript for循环在1次迭代后停止
My Javascript for loop stops after 1 iteration
嗨,伙计们,我希望你们能帮助我。
我有这样的代码,它循环遍历一个内部有不同对象的数组,并将其中一个属性的内容与给定数组的内容进行比较。现在它工作得很好,我唯一的问题是它只在一次迭代后就停止了(这发生在第一个循环中,而不是第二个循环)。
这是代码。我希望你们能帮助我。
var checkIfChecked = function () {
for (var i=0; i < recepten.length; i++) {
var kanIkHetMaken = true;
var ditRecept = recepten[i];
for (var i=0; i < ditRecept.nodigeIngredienten.length; i++) {
var dezeIngredienten = ditRecept.nodigeIngredienten[i];
var index = checked.indexOf(dezeIngredienten);
console.log(index);
if (index === -1) {
kanIkHetMaken = false;
return;
}
}
if (kanIkHetMaken === true) {
document.getElementById(ditRecept.id).style.display = "block";
}
console.log('1e recept gedaan');
}};
在两个循环中使用相同的变量i
。因此,当内部循环通过时,外部循环检查i的更新值以进行比较。对内部循环使用不同的变量,如j
将内部循环的变量更改为j
,并使用break
而不是return
。
for (var j = 0; j < ditRecept.nodigeIngredienten.length; j++) { // change i to j
var dezeIngredienten = ditRecept.nodigeIngredienten[j]; // use j
var index = checked.indexOf(dezeIngredienten);
console.log(index);
if (index === -1) {
kanIkHetMaken = false;
break; // exit the inner loop
}
}
Array#every
:的一点改进
kanIkHetMaken = ditRecept.nodigeIngredienten.every(function (dezeIngredienten) {
return ~checked.indexOf(dezeIngredienten);
});
将return;
替换为continue;
。
CCD_ 9终止该功能
CCD_ 10终止循环
CCD_ 11终止该迭代并继续下一个迭代。
相关文章:
- 如果30秒未单击,请应用CSS一次,将其删除,然后重新迭代
- 循环中的切换脚本只适用于第一次迭代
- 尝试在两次迭代中警告同一选择器的值,在第一次迭代中得到正确的值,而在第二次迭代中获得不正确的值.为什么?
- 我的Javascript for循环在1次迭代后停止
- 执行在外循环的第一次迭代后停止
- 角度达到 10 次 $digest() 迭代
- Javascript音频分层eventListener HTML5在多次迭代中失败
- 当接收到AJAX内容时,每次$.的下一次迭代
- 为什么这个 JavaScript switch 语句(在 for 循环内)保留了上一次迭代的值
- 异步mongodb更新循环中最后一次迭代后的重定向
- 此代码在第一次迭代时给出 0 作为高度和宽度,第二次给出正确的尺寸
- 在AngularJs中只重复n次迭代
- for循环只迭代一次
- 当我将src附加到图像时,每N秒迭代一次
- 当试图从元素中删除类时,For循环只迭代一次
- 每个函数在XML中迭代两次
- 对对象数组只迭代一次
- Javascript - for循环只迭代一次
- 迭代一次的行值并添加
- JavaScript在同一循环中每x次迭代一次循环