我想创建具有固定长度的空数组,然后使用.map
它来返回新数组.但是,它没有按预期工作.
根据mdn docs:
如果传递给Array构造函数的唯一参数是0到232-1(含)之间的整数,则返回一个长度设置为该数字的新JavaScript数组.
new Array(3)
回报[undefined × 3]
.不应该是:[undefined, undefined, undefined]
?
让我们考虑以下示例:
1)不工作.
var a = new Array(3); a.map((x, i) => i); // [undefined × 3]
2)工作.
var a = Array.apply(null, new Array(3)); a.map((x, i) => i); // [0, 1, 2]
我在最新的Google Chrome Canary上进行了测试.