减少每次迭代的次数,直到达到0

时间:2016-09-25 18:45:41

标签: javascript

我想在最后一次迭代时将n减少到0,但我的计算是错误的。我忽略了什么。现在我正在做Math.round(n / loops)。我需要找到一种方法来分散减法,以便在最后一次迭代中n变为0,而每个n之间的范围是恒定的。

function check(a, b) {
        let loops = a / b;
      let n = 200;

      for (let i = 0; i <= loops; i++) {
        console.log(n);
        n -= Math.round(200 / loops);
      }
}

check(60, 10)

编辑:我很抱歉,但这些贬低是荒谬的。

1 个答案:

答案 0 :(得分:1)

代码的主要问题是表达式n / loop在每次迭代中都不同。你可能想要这个表达式是常量,在这种情况下逻辑会更合理。

使用以n的值开头的单独变量,然后是减法的主题,但没有更改 n 的原始值用于表达式n / loop

function check(a, b) {
    let loops = a / b;
    let n = 200; // don't change n after this.
    let n2 = n; // use a separate variable for that.
    for (let i = 0; i <= loops; i++) {
        console.log(Math.round(n2)); // only round in output
        n2 -= n / loops; // use n, but only change n2
    }
}

check(60,10);