【问题标题】:Notation and result符号和结果
【发布时间】:2016-11-01 17:38:45
【问题描述】:

我必须创建一个给定数字 (n) 的数组。该数组将包含直到并包括该数字的所有数字,但不包括零。 我写了以下代码

function upTonArr(n) {
    for (var i = 0, monkeys = []; i <= n; monkeys.push(++i)); 
    return monkeys;
}

但必须将其更改为 i

谁能告诉我为什么如果“n”需要包含在数组中,则表示法不要求 i 为

提前致谢。

【问题讨论】:

  • 如果i小于或等于n,则循环运行,如果去掉相等的部分,则循环仅在i小于n时运行,减少了一次迭代.
  • 试着评估你脑海中的每一个表达:如果我通过n=0,会产生多少猴子?
  • 同意。如果我说 n = 10 那么我的数组应该包括 1-10 的所有数字,对吗?这就是为什么我在想 n
  • 因为++i首先递增然后给出值(注意它从1而不是0开始),所以你需要在n-1停下来让它给出@ 987654329@ 作为最后一个数组项。
  • 我现在明白了。感谢您澄清@SpencerWieczorek

标签: javascript arrays notation


【解决方案1】:

您正在使用前缀运算符 (++i)。这样做是在获取变量之前递增变量。在第一次运行时,值为 0,但由于前缀运算符,1 被推送到数组中。如果你有 i

另一个版本,后缀运算符 (i++),将首先获取变量,然后在访问后对其进行递增,因此第一次运行时会将 0 推入数组。

【讨论】:

  • 感谢您的澄清。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-28
  • 1970-01-01
  • 2017-12-26
  • 2017-05-10
  • 2014-07-14
  • 1970-01-01
相关资源
最近更新 更多