为什么我需要复制一个数组来使用它的方法?

22 浏览
0 Comments

为什么我需要复制一个数组来使用它的方法?

我可以使用Array()创建一个有固定数量未定义条目的数组。例如

Array(2); // [empty × 2] 

但是,如果我在新数组上使用map方法,条目仍然是未定义的:

Array(2).map( () => "foo");  // [empty × 2] 

如果我复制数组,然后map就可以工作:

[...Array(2)].map( () => "foo");  // ["foo", "foo"]

为什么我需要复制才能使用这个数组?

0