더북(TheBook)

문제는 다음과 같은 경우에 발생합니다. 기준이 되는 칸을 열면 주변 8칸을 열게 됩니다. 기준 칸의 오른쪽 칸을 열면 오른쪽 칸은 다시 주변 8칸을 여는데, 주변 8칸 중에 기준 칸도 있어서 기준 칸을 다시 열게 됩니다. 다시 기준 칸은 주변 8칸을 열면서 오른쪽 칸도 다시 열게 됩니다. 이렇게 주변 칸 열기가 무한 반복되어 끝이 나지 않게 됩니다.

현재 openAround() 함수가 몇 칸을 열고 있는지 확인해 보겠습니다.

let data;
let openCount = 0; 
(중략)
function open(rowIndex, cellIndex) { 
  (중략)
  openCount++;
  console.log(openCount);
  return count;
}

다시 실행해 칸을 클릭하면 실제로 열어야 하는 칸보다 훨씬 더 많은 칸을 열고 있는 것이 콘솔에 보입니다. 숫자가 보이지 않는다면 open() 함수가 너무 많이 호출되어 웹 브라우저가 멈춘 상태일 겁니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.