我对map
ping 创建的数组的结果感到困惑new
:
function returnsFourteen() {
return 14;
}
var a = new Array(4);
> [undefined x 4] in Chrome, [, , , ,] in Firefox
a.map(returnsFourteen);
> [undefined x 4] in Chrome, [, , , ,] in Firefox
var b = [undefined, undefined, undefined, undefined];
> [undefined, undefined, undefined, undefined]
b.map(returnsFourteen);
> [14, 14, 14, 14]
我希望a.map(returnsFourteen)
返回[14, 14, 14, 14]
(与 相同b.map(returnsFourteen)
,因为根据数组上的 MDN 页面:
如果传递给 Array 构造函数的唯一参数是 0 到 2**32-1(含)之间的整数,则使用该数量的元素创建一个新的 JavaScript 数组。
我解释这意味着a
应该有 4 个元素。
我在这里想念什么?