符号和结果

Notation and result

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

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

但必须将其更改为 i < n 才能通过测试。

有人可以告诉我为什么如果 "n" 需要包含在数组中,那么表示法不需要 i <=n 吗?

提前致谢。

您正在使用前缀运算符 (++i)。它所做的是在获取变量之前递增变量。在第一个 运行 上,值为 0,但由于前缀运算符,1 被推入数组。如果你有 i <= n,它会将 (n + 1) 作为最后一个值推入数组。

另一个版本,后缀运算符(i++),会先获取变量,然后在访问它之后递增它,所以 0 会在第一个 运行.[=10= 被压入数组]