new Array(param.pageSize).fill(dataItem)
时间: 2023-12-03 15:03:25 浏览: 32
这段代码使用 `new Array(param.pageSize)` 创建了一个指定长度的数组,然后使用 `.fill(dataItem)` 将数组中的每个元素都填充为 `dataItem`。这意味着数组中的每个元素都将引用相同的 `dataItem` 对象。
请注意,使用 `.fill()` 方法填充数组时,会将同一个对象的引用分配给每个数组元素。这意味着如果你修改其中一个元素的属性,其他元素也会受到影响,因为它们引用的是同一个对象。
以下是一个示例:
```javascript
// 假设 param.pageSize 的值为 3,dataItem 的值为 { name: 'John' }
const dataItem = { name: 'John' };
const arr = new Array(param.pageSize).fill(dataItem);
console.log(arr);
// 输出: [ { name: 'John' }, { name: 'John' }, { name: 'John' } ]
// 修改其中一个元素的属性
arr[0].name = 'Jane';
console.log(arr);
// 输出: [ { name: 'Jane' }, { name: 'Jane' }, { name: 'Jane' } ]
```
如果你希望每个数组元素都是独立的对象,而不是引用同一个对象,可以使用 `Array.from()` 创建一个新的数组,并为每个元素分配一个新的对象,例如:
```javascript
const arr = Array.from({ length: param.pageSize }, () => ({ name: 'John' }));
```
这样每个数组元素都将是独立的对象,对一个对象的修改不会影响其他元素。
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)