Javascript 2D Array TypeError

问题描述 投票:0回答:1

也许只是一个非常简单的错误,但我需要你的帮助。

var x,y = 0;

工作代码:

array[x][y] = 10;

错误的代码:

array[x + 1][y] = 10;

未捕获的TypeError:无法读取未定义的属性“0”

数组:

var array= [
  [1, 1, 0, 0, 0, 0, 0, 1, 1, 0],
  [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
  [0, 0, 0, 1, 0, 0, 1, 0, 0, 0],
  [0, 0, 0, 1, 0, 0, 1, 0, 0, 0],
  [0, 0, 0, 1, 0, 0, 1, 0, 0, 0],
  [0, 0, 0, 1, 0, 0, 1, 0, 0, 0],
  [0, 0, 0, 0, 0, 0, 1, 0, 0, 0],
  [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
  [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
  [0, 1, 1, 1, 0, 0, 0, 1, 1, 1]
];

它绝对不是“ArrayOutOfBounds”。

如果我在谷歌Chrome控制台中调用此功能,则没有错误...

javascript arrays
1个回答
0
投票

我的一个错误是x和y是一个String,所以我需要解析它。另一个错误(谢谢“T.J.Crowder”)是我对所用变量的定义(这里是z1和z2)。

x = parseInt(x);
y = parseInt(y);

var z1 = 0;
var z2 = 0;

...

z1=x+1:
z2=y;

...

array[z1][z2] = 10;

现在它有效

© www.soinside.com 2019 - 2024. All rights reserved.