1

为什么价值

(new Array(2)).map(function (x, i, a) { return i })

[未定义,未定义]而不是[0, 1]?

4

2 回答 2

1

new Array(2)生成一个稀疏数组 - 没有值,但长度为 2。它相当于[,,].

现在,Array 的.map()方法被指定为省略未初始化/已删除的索引,因此您只需返回另一个空数组。

关于您想要做什么的相关问题:How to write List/Array comprehensions in JavaScript

于 2012-11-09T14:04:42.497 回答
0

当您指定 javascript 数组的大小时,它会用未定义的值填充它

于 2012-11-09T14:04:11.890 回答