为什么我在数组中得到未定义的值?

时间:2012-11-09 13:49:32

标签: javascript

为什么是

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

[undefined,undefined]而不是[0,1]?

2 个答案:

答案 0 :(得分:1)

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

现在,指定Array's .map() method会遗漏未初始化/已删除的索引,因此您只需返回另一个空数组。

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

答案 1 :(得分:0)

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