多分簡単な間違いですが、私はあなたの助けが必要です。Javascript 2D Array TypeError
var x,y = 0;
ワーキングコード:
array[x][y] = 10;
間違ったコード:
array[x + 1][y] = 10;
Uncaught TypeError: Cannot read property '0' of undefined
配列:
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」ではありません。私はエラーがないグーグルクロームコンソールでこの関数を呼び出した場合
...
の作品は、どのように我々は、我々は 'X'と 'y'が何であるかわからない場合は、こののお手伝いをすることになっていますか?あなたは範囲外の問題ではないと言いましたが、それはエラーと症状が私にそれが示唆しているものです。 'x'は明らかに' 9'であるので、 'x + 1'は' 10'であり、 'array [10]'には配列がありません。 –
'x'が持っているので、' var x、y = 0; ':[*配列アクセス式は動作しません(https://jsfiddle.net/91wqsLLr/)値 'undefined'、' array [undefined] 'は' undefined 'なので、 '[y]'は読み出すことができません。 'var x = 0、y = 0;'に変更すると、両方の式が動作します:https://jsfiddle.net/91wqsLLr/1/ –