首页 > 解决方案 > 为什么 [...Array(3)] 给出的结果与 Array(3).map(el => undefined) 不同

问题描述

在 javascript 中,当创建一个长度为 3 的新数组时,我似乎无法理解为什么会这样:

[...Array(3)] // [undefined, undefined, undefined]

但这不起作用:

Array(3).map(e => undefined) // [ , , ]

正如我在这里正确理解的那样,Array(3)将返回一个带有 3 个空槽的数组,这与 不同 ,但是为什么你不能用展开运算符来[undefined, undefined, undefined]迭代它们呢?map

标签: javascriptarraysecmascript-6

解决方案


推荐阅读