Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在for循环jquery中使用一个() for(变量i=0;i_Javascript_Jquery - Fatal编程技术网

Javascript 在for循环jquery中使用一个() for(变量i=0;i

Javascript 在for循环jquery中使用一个() for(变量i=0;i,javascript,jquery,Javascript,Jquery,我在数组中循环以检查某些内容,如何在else语句中运行一次?如果我将一个函数放在那里,它将触发多次。您需要在else操作之后执行此操作。您可以使用一个标志来指示是否执行了else块,如果是,请不要再次执行它 for (var i = 0; i < res.length; i++) { if (res[i] != 'a' && res[i] != '-b') { } else { // alert will triger multiple

我在数组中循环以检查某些内容,如何在else语句中运行一次?如果我将一个函数放在那里,它将触发多次。

您需要在else操作之后执行此操作。

您可以使用一个标志来指示是否执行了else块,如果是,请不要再次执行它

for (var i = 0; i < res.length; i++) {

    if (res[i] != 'a' && res[i] != '-b') {

    } else {
        // alert will triger multiple times here
        alert();
    }

}
var run=true;
对于(变量i=0;i
试试这个:

var run = true;
for (var i = 0; i < res.length; i++) {

    if (res[i] != 'a' && res[i] != '-b') {

    } else if (run) {
        // alert will triger multiple times here
        alert();
        run = false;
    }

}
for(变量i=0;i
您可以使用一个简单的布尔标志:

for (var i = 0; i < res.length; i++) {

    if (res[i] != 'a' && res[i] != '-b') {

    } else {
        // alert will triger multiple times here
        alert();
        break;
    }

}
//在for循环之前引入标志
var过程=真;
对于(变量i=0;i
别忘了正确缩进代码。它使阅读更容易。“在for循环jquery中使用one()”在您的问题中没有
one
调用,也没有jquery的任何其他用法。它不应该是
run=false
?在else分支中,如果您中断,
res的其余部分可能不相同,
将不会得到处理。。。即如果在第一个
a
-b
元素之后的循环中存在除
a
-b
以外的任何其他值
// Introduce the flag before your for loop
var process = true;
for (var i = 0; i < res.length; i++) {

    if (res[i] != 'a' && res[i] != '-b') {

    } else if(process) {
        // alert will triger multiple times here
        alert();
        process = false; // Reset the process flag
    }

}