为什么价值
(new Array(2)).map(function (x, i, a) { return i })
[未定义,未定义]而不是[0, 1]?
new Array(2)
生成一个稀疏数组 - 没有值,但长度为 2。它相当于[,,]
.
现在,Array 的.map()
方法被指定为省略未初始化/已删除的索引,因此您只需返回另一个空数组。
关于您想要做什么的相关问题:How to write List/Array comprehensions in JavaScript
当您指定 javascript 数组的大小时,它会用未定义的值填充它