了解JavaScript Array()函数

时间:2019-07-05 20:40:46

标签: javascript arrays

如果我编写此代码:Array(3).map( () => ({ a:1 }) )得到Array(3) [ <3 empty slots> ]而不是3个对象的数组。为什么会这样?

据我所知,Array(3)将产生长度为3的undefined个元素的数组。例如,[1, 2, 3].map( () => ({ a:1 }) )将产生预期的输出。使用长度为3的任何其他数组也是如此。我很感兴趣。

1 个答案:

答案 0 :(得分:1)

Array(3)创建一个长度为3的空数组。或者作为一个对象为{ length: 3 }。与,例如Array(Array(3))将创建一个包含undefined{ 0: undefined, 1: undefined, 2: undefined, length: 3 }的数组。并且.map仅迭代现有键。