【问题标题】:Is there a way to make certain for loop iterations different?有没有办法让某些 for 循环迭代不同?
【发布时间】:2020-12-17 11:52:51
【问题描述】:

JavaScript。有没有办法让for loop 在每秒(第五次等)迭代中做的事情与它“默认”做的事情略有不同?

for (var i = 0; i < n.length; i++) {
  a += 5;
  b += a;
}

如果我想添加到 a 而不是 5 而是 10 在每第二次迭代中 并添加到 b 不是 a 而是 b 本身 在循环的每第五次迭代中?这是可行的吗?谢谢!

【问题讨论】:

  • 添加一些 if 语句来有条件地做事。
  • 您的问题有点模糊,但我让您看看switch 声明。除非您可以使用数据驱动的方法来做到这一点(将您的案例放在数据结构中,然后“盲目地”应用它)。

标签: javascript for-loop iteration


【解决方案1】:

使用取模运算符 % 来确定 i 是否可以被“每 N 个”值整除。

这将在第一次(第零次)迭代中运行两个子句,因为零是可以整除的;您可能需要i % 2 == 1i % 5 == 4,具体取决于。

for (var i = 0; i < n.length; i++) {
  if(i % 2 == 0) {
    a += 5;
  }
  if(i % 5 == 0) {
    b += a;
  }
}

【讨论】:

  • 我想知道这是否解决了零迭代问题? if (i &gt; 0 &amp;&amp; i % 26 === 0) {
【解决方案2】:

您可以执行以下操作,

for (var i = 0; i < n.length; i++) {
  if(i%2 === 0) {
     a += 10;
  } else {
     a += 5;
  }
  if(i%5 === 0) {
     b+= =b;
  } else {
     b += a;
  }
}

【讨论】:

    【解决方案3】:

    也许你可以试试这个:

    for (var i = 0; I <n.length; i++){
      if( i + 1 / 2) {
        a += 10;
        b += a
      }else if ( i + 1 / 5) {
        a += 5;
        b += b
      } else {
       a += 5;
       b += a;
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-03
      • 2022-11-18
      • 2021-11-15
      • 1970-01-01
      • 2010-10-03
      • 1970-01-01
      相关资源
      最近更新 更多