如何在特定条件列表中优化for循环?

时间:2017-03-20 04:54:41

标签: javascript loops variables for-loop optimization

我在JavaScript中有一个for循环,迭代变量i。在每个迭代步骤中,检查if条件列表。对于每个i,这些条件中只有一个可以是真的(或者没有一个),并且每个条件对于一个i都是正确的。一个非常简单的例子是:

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

很明显,对于4&lt; = i&lt; = 10,条件i === 3将始终失败。有没有办法实现这一点,如果一个条件对某些我来说是真的,这个条件将不再被其他我的检查?这种情况可以用某种方式删除吗?这会使循环更快。

(当然上面的例子没有多大意义,真正的用例要复杂得多。)

提前感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

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;
 }
}

答案 1 :(得分:0)

一旦找到,就可以使用else if语句跳过所有其他条件。

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

在这种情况下,如果i为3,则将跳过其他条件。