javascript - JS : for loop with pauses

标签 javascript for-loop conditional-statements

如何在满足特定条件时使循环暂停?在下面的示例中,循环仅一次显示所有值,而我希望它在达到特定值(例如 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/

相关文章:

javascript - angularjs 获取表单 Action 并提交给它

javascript - 如果没有打开页面,Phantom JS 可以运行吗

python - 什么时候应该使用 Map 而不是 For 循环?

azure - 有没有比条件语句更好的替代方法来停止逻辑应用程序?

javascript - HTML 元素作为 While 条件

delphi - 没有代码的条件方法调用是否会包含在输出文件中?

javascript - 如何使用 Youtube Api 获取用户的喜欢、评论和观看历史记录?

javascript - IFrame 内容交换错误?

r - 处理 R 中的重复性任务

batch-file - Windows CMD 批处理 : FOR/R with DelayedExpansion