2012-12-20 176 views
-1

如何將條件添加到For循環的結尾?jQuery條件如果不在循環中

例子:

if (state) { 
    for (var i = 0, l = $imageLength; i < l; i++) { 
     if ($images[i].url === state) { 
      rGallery.init(i); 
      break; 
     } 
    } 

    /* Need to add here: if NOT in loop... blah*/ 

} else { 
    rGallery.init(); 
} 

側面說明,也可以提高邏輯,以避免它......如果(國家有循環比賽)的init(I)其他的init()

+0

如果你需要的條件塔可以用do-while循環中do while循環,我們在最後檢查條件循環 –

+0

您是否試圖通過循環結束或「break」語句告訴您是否結束? – Barmar

+0

你想達到什麼目的? –

回答

2

有關使用布爾變量是什麼:

var hasMatch = false; 
if (state){ 
    for (var i = 0, l = $imageLength; i < l; i++){ 
     if ($images[i].url === state){ 
      rGallery.init(i); 
      hasMatch = true; 
      break; 
     } 
    } 
} 
if(!hasMatch){ 
    rGallery.init(); 
} 
1

你可以使用另一個變量作爲標誌,並在循環後檢查:

var found = false; 
if (state){ 
    for (var i = 0, l = $imageLength; i < l; i++){ 
     if ($images[i].url === state){ 
      rGallery.init(i); 
      found = true; 
      break; 
     } 
    } 
} 

if (!found){ 
    rGallery.init(); 
} 
1

如果結果在循環或不被發現,你可以設置一個標誌:

var found = false; 
for (var i = 0, l = $imageLength; i < l; i++){ 

    if ($images[i].url === state){ 

     rGallery.init(i); 
     fount = true; 
     break; 
    } 
} 
if (!found) { 
    /* Need to add here: if NOT in loop... blah*/ 
}