@Gugr
Студент ИТМО. Веб-разработчик.

В чем причина ошибки: Uncaught TypeError: Cannot read property '24' of undefined?

Имеется двумерный массив field размерностью 25х25 и следующая функция:
function bug_start(){
	j=0;
	i=0;
	bugX=0;
	bugY=0;
	check:
	if(field[0][1]==1 && field[1][0]==1){
		alert('Жук заблокирован! Перестройте лабиринт!');
		break check;
	}
	else{
		while(bugX!=480 && bugY!=480){
			while((field[j][i+1]==0) && i<24){
				ctx.drawImage(bug, (i+1)*20, j*20);
				i+=1;
				bugX = bugX + i*20;
				score+=1;
			}
			while((field[j+1][i]==0) && j<24){
				ctx.drawImage(bug, i*20, (j+1)*20);
				j+=1;
				bugY = bugY + j*20;
				score+=1;
			}
			while((field[j][i-1]==0) && ((i-1)>0)){
				ctx.drawImage(bug, (i+1)*20, j*20);
				i-=1;
				bugX = bugX + i*20;
				score+=1;
			}
			while((field[j-1][i]==0) && ((j-1)>0)){
				ctx.drawImage(bug, (i+1)*20, j*20);
				j-=1;
				bugY = bugY + j*20;
				score+=1;
			}
		}
	}
	alert(score);
}


При вызове функция в браузере выходит ошибка: Uncaught TypeError: Cannot read property '24' of undefined на строке while((field[j+1][i]==0) && j<24){
Как ее исправить? Где ошибка в функции?
  • Вопрос задан
  • 3919 просмотров
Пригласить эксперта
Ответы на вопрос 2
shcherbanich
@shcherbanich
Программист
while(field[j+1]&&(field[j+1][i]==0) && j<24){
Ответ написан
overmes
@overmes
все правильно, функция делает именно, то что должна - баг
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы