在JavaScript中循环,直到满足条件
我试图无限期地循环,直到满足一个条件…以下是正确的吗 似乎不是在JavaScript中循环,直到满足条件,javascript,while-loop,Javascript,While Loop,我试图无限期地循环,直到满足一个条件…以下是正确的吗 似乎不是 var set = false; while(set !== true) { var check = searchArray(checkResult, number); if(check === false) { grid.push(number); set = true; } } searchArray结果为
var set = false;
while(set !== true) {
var check = searchArray(checkResult, number);
if(check === false) {
grid.push(number);
set = true;
}
}
searchArray结果为非false时,代码将循环,直到它变为false。因此,如果您希望实现这种行为,那么代码是正确的,否则就不正确。让我们看一下这个。您希望代码循环直到函数searcharray()返回true,对吗 首先,代码创建变量“set”并将其设置为false 然后,当set不等于true时(建议在此处使用三重等于),运行以下代码: 创建变量“check”,并将其设置为searcharray返回的值 如果searcharray返回false,它将在数组网格的末尾添加一个数字作为新条目,然后将“set”设置为true
然后它再次循环。若searcharray返回true,它将再次循环,因为set仍然为false。如果搜索数组返回false,它不会再次循环并跳到末尾。基本上,您可以使用此模式进行无限循环,并使用以下语句在循环中的任意位置添加中断条件:
似乎不是。真正地你能说得更具体一点吗?嗯……我只是想知道我是否能打破这样的循环,它是否能起作用。如果它看起来正确,那么问题一定在别处。如果不知道
searchArray
做了什么,或者checkResult
&number
区域,我们怎么可能知道是什么问题呢?如果它无限循环,或者在第一次迭代中停止,或者……数字是随机生成的数字。searchArray—就是这样做的。在数组中搜索生成的数字。它返回true或false。如果数字不在数组中…我将其添加到网格中。并将更改设置为true。我只是想知道我的语法是否正确。非常感谢:就是这样。下面尼娜·斯科尔斯的答案似乎是最好的解决方案。不需要另一个var。
while (true) {
// ...
if (breakCondition) {
break;
}
}