繁体   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