在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;
    } 
}