簡體   English   中英

如何優化一系列特定條件的for循環?

[英]How can I optimize a for-loop over a list of specific conditions?

我在JavaScript中有一個for循環,遍歷變量i。 在每個迭代步驟中,檢查條件列表。 對於每個i,這些條件中只有一個可以成立(或都不成立),並且每個條件對於一個i都成立。 一個非常簡單的示例是:

for (i = 1; i <= 10; i++)
{
if (i === 3) {some code ...}
if (i === 7) {some other code ...}
 }

因此很明顯,對於4 <= i <= 10,條件i === 3將始終失敗。 有沒有一種方法可以實現,如果某個i的條件為真,那么其他i的條件將不再被檢查? 可以某種方式刪除此條件嗎? 這將使循環更快。

(當然,上面的示例沒有多大意義,實際用例要復雜得多。)

預先感謝您的幫助!

Switch更適合您要實現的目標

for (i = 1; i <= 10; i++)
{
 switch(i){
  case 1:
   some code..;
   break; //once this is called, the statement will stop
  case 3:
   some other code..;
   break;
 }
}

一旦找到一個條件,就可以使用else if語句跳過所有其他條件。

for (i = 1; i <= 10; i++) {
    if (i === 3) {some code ...}
    else if (i === 7) {some other code ...}
}

在這種情況下,如果i為3,則其他條件將被跳過。

暫無
暫無

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

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