1
我试图在每次迭代中实现一个嵌套的for循环。在JavaScript中的每次迭代中嵌套的for循环延迟
到目前为止,我的东西想出了这样
var maxLoops = 10 ;
var counter = 0;
var counter2 = counter;
var maxLoops = 10 ;
var counter = 0;
var counter2 = counter;
(function nNext() {
if (counter == maxLoops) return
counter2 = counter - 1;
setTimeout(() => (function next() {
if (counter2 >= maxLoops) return;
setTimeout(() => {
console.log("Nester counter :" + counter2);
counter2++
next()
}, 100)
})(), 1)
counter++;
nNext();
})();
然而,它不能正常工作。我试图做一个气泡排序的可视化表示,并且我需要这个延迟以便看到如果数组立即排序而没有这个延迟,那么每个步骤都是不可能的。实际上有可能实现这样的事情吗?或者也许有更好的方法来做到这一点?
定义“工作不正常”? –
您正在调用'nNext',然后以递归方式再次调用它。那真的是你想要的吗? – 2016-12-01 19:17:06
另外,在外层'setTimeout'中,传递一个箭头函数,该函数具有一个可立即调用名为'next'的函数的主体。为什么?看起来像箭头函数可以被删除,以及立即调用'next',并且只传递'function next(){...}'。 – 2016-12-01 19:19:41