Javascript 数组未定义的错误和长度函数

Javascript 数组未定义的错误和长度函数,javascript,Javascript,大家好,我希望我能从你们的高技能经验中找到一些答案。 我正在填充这个2D数组,我知道如何填充,但我得到了以下错误: script.js:35未捕获的TypeError:无法设置未定义的属性“0” 在script.js:35 当我点击控制台中的错误时,它指向第9行中的数字2:gameArray[row][column]=2;我应该将数组声明为整数数组吗?为什么我不能使用gameArray[row].Length而不是5作为此代码第三部分的条件?非常感谢你们,伙计们 var gameArray=新

大家好,我希望我能从你们的高技能经验中找到一些答案。 我正在填充这个2D数组,我知道如何填充,但我得到了以下错误:

script.js:35未捕获的TypeError:无法设置未定义的属性“0” 在script.js:35

当我点击控制台中的错误时,它指向第9行中的数字2:gameArray[row][column]=2;我应该将数组声明为整数数组吗?为什么我不能使用gameArray[row].Length而不是5作为此代码第三部分的条件?非常感谢你们,伙计们

var gameArray=新数组(5);
对于(var i=0;ilog(gameArray)
您最好使用数组的相关
长度
属性来控制循环-这样就不会出现一个错误

var gameArray=新数组(5);
对于(var i=0;ilog(gameArray)您的错误是典型的一次性错误

使用JavaScript数组方法创建数组可以避免此类问题:


console.log(数组(5).fill(0).map(()=>Array(4.fill(2)))
gamearray
是5个元素的数组,而for循环是6个元素的数组! 因此,将第二个for循环修改为第一个for循环,并使用
length
属性作为for循环的上限:

var gameArray=新数组(5);
对于(var i=0;ilog(gameArray)0-5有6个元素,而不是5个。我实际上找到了错误的原因,条件应该是非常感谢,这是一个惊人的答案和提示!谢谢,我真的很惊讶我能得到这么多的帮助,你们太棒了!非常感谢,我欠你一个人情!