我在玩一下,试图实例化一个长度为x的新数组,其中该数组的所有元素都初始化为值y:
var arr = new Array(x).fill(y);
如果y的值不是对象,那么这个方法可以很好地工作。
也就是说,如果y是一个对象,那么以下条件成立:
var arr = new Array(2).fill({});
arr[0] === arr[1]; //结果为true;
arr[0].test = 'string';
arr[1].test === 'string'; //结果也为true;
有没有办法在使用fill函数时声明每个元素都应该创建一个新对象?还是我应该将其转换为循环?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
您可以首先使用任何值(例如
undefined)填充数组,然后您就可以使用map:var arr = new Array(2).fill().map(u => ({}));