如何在满足特定条件时使循环暂停?在下面的示例中,循环仅一次显示所有值,而我希望它在达到特定值(例如 2)时停止:
a = [1,1,1,2,1,1,1,3,4,2,1]
for (var i = 0; i < a.length; i++) {
if(a[i] == 2){
setTimeout(console.log(a[i]), 1000)
}else{
console.log(a[i]);
}
};
最佳答案
您不能直接执行此操作,但可以按如下方式进行模拟(您可以在此处测试代码: http://jsfiddle.net/xSu5J/ ):
function myLoop(a) {
function showElem(index) {
if (index < a.length) {
var nextWaitTime = (a[index] == 2) ? 1000 : 1; //1000: long period, 1: short period
console.log(a[index]);
setTimeout(function(){showElem(index+1)}, nextWaitTime);
}
}
showElem(0);
}
myLoop([1,1,1,2,1,1,1,3,4,2,1]);
关于javascript - JS : for loop with pauses,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22236754/