javascript - 使用默认值填充数组的方法

时间:2016-04-02 16:30:23

标签: javascript arrays

我一般很好奇第一个例子为什么不用默认值填充数组?

// first example
var arr = new Array(5);
var r = arr.map(function () { return 0; });
console.log(r); // []

// second example
var arr2 = Array.apply(null, Array(5));
var r2 = arr2.map(function () { return 0; });
console.log(r2); // [0, 0, 0, 0, 0]

1 个答案:

答案 0 :(得分:1)

这是我在MDN关于Array.protoype.map的文章中找到的。

  

不会调用数组中缺少的元素(即,从未设置过的索引,已删除的索引或从未赋值的索引)。

使用Array构造函数初始化数组时,不会设置数组元素。

new Array(5)的更好方法是Array.from({length: 5}),适用于map