Javascript 在for循环jquery中使用一个() for(变量i=0;i
我在数组中循环以检查某些内容,如何在else语句中运行一次?如果我将一个函数放在那里,它将触发多次。您需要在else操作之后执行此操作。您可以使用一个标志来指示是否执行了else块,如果是,请不要再次执行它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
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
}
}