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