在for循环jquery中使用one()

时间:2015-03-30 07:10:58

标签: javascript jquery

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

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

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

}

我遍历一个数组来检查一下,我怎样才能在else语句中运行一次?如果我在那里放置一个函数,它会多次触发。

4 个答案:

答案 0 :(得分:2)

在你的其他行动之后你需要break;

答案 1 :(得分:2)

试试这个:

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

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

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

}

答案 2 :(得分:1)

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

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

}

答案 3 :(得分:0)

你可以使用一个简单的布尔标志:

// 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
    }

}