簡體   English   中英

嵌套for循環,在JavaScript中每次迭代都有延遲

[英]Nested for-loop with delay on each iteration in 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();

})();

但它無法正常工作。 我試圖做一個冒泡排序的直觀表示,我需要這個延遲,以便看到每個步驟,如果陣列立即排序沒有這種延遲是不可能的。 實際上可以實現這樣的事情嗎? 或者也許有更好的方法來做到這一點?

你得到的結構似乎有點復雜,這應該完成你正在尋找的:

 var maxLoops = 10, counter = 0, counter2 = 0; function outerNext() { if (counter == maxLoops) return; counter2 = counter - 1 innerNext() } function innerNext() { if (counter2 >= maxLoops) { outerNext() } else { counter2++; console.log("Nester counter :" + counter2); setTimeout(innerNext, 500) } } outerNext() 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM