小编Koe*_*ren的帖子

带对象的Array.prototype.fill()传递引用而不是新实例

只是一个小问题.

我正在玩弄一点,并试图实例化一个新的长度x数组,其中该数组的所有元素初始化为值y

var arr = new Array(x).fill(y);
Run Code Online (Sandbox Code Playgroud)

如果y的值不是对象,则此方法很有效.意思是y是一个对象,以下是正确的:

var arr = new Array(2).fill({});
arr[0] === arr[1]; //is true;
arr[0].test = 'string';
arr[1].test === 'string'; //is also true;
Run Code Online (Sandbox Code Playgroud)

有没有办法说明在使用fill-function时应该为每个元素创建一个新对象?或者我应该将其转换为循环?

提前致谢!

javascript arrays

41
推荐指数
4
解决办法
8668
查看次数

标签 统计

arrays ×1

javascript ×1