3 回答

TA贡献2003条经验 获得超2个赞
您可以使用Array.from()代替:
感谢Pranav C Balan在评论中提出的关于进一步改善此问题的建议。
let m = Array.from({length: 6}, e => Array(12).fill(0));
m[0][0] = 1;
console.log(m[0][0]); // Expecting 1
console.log(m[0][1]); // Expecting 0
console.log(m[1][0]); // Expecting 0

TA贡献1847条经验 获得超11个赞
您无法使用进行此操作.fill(),但可以使用.map():
let m = new Array(6).map(function() { return new Array(12); });
编辑哦,等等,这是行不通的;.map()不会遍历未初始化的元素。您可以先填写:
let m = new Array(6).fill(null).map(function() { return new Array(12); });

TA贡献2011条经验 获得超2个赞
你不能用Array#fill方法做到这一点。而是遍历数组,并使用for循环添加新创建的数组。
let m = Array(6);
for (var i = 0; i < m.length; i++)
m[i] = Array(12).fill(0)
m[0][0] = 1;
console.log(m[1][0]);
添加回答
举报