You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中创建包含任意数量空数组的数组?

问题原因

Array.prototype.fill() 传入引用类型值时,只会将同一个引用复制到数组的所有位置,你代码中所有子数组本质是同一个数组对象,修改任意一个都会同步触发所有子数组的变更。

最优单行实现

推荐使用Array.from实现,不存在引用共享问题,将参数里的9替换为你需要的数值即可自定义子数组数量:

const myArray = Array.from({ length: 9 }, () => []);

也可以用扩展运算符搭配map实现,效果一致:

const myArray = [...Array(9)].map(() => []);

以上两种写法修改任意子数组都不会影响其他元素:

myArray[0].push(1);
// 输出:[[1], [], [], [], [], [], [], [], []]

内容的提问来源于stack exchange,提问作者GriffsAccount

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 13:36:03