지뢰찾기 질문 드립니다

20.03.22 18:12 작성 조회수 140

0

if (dataSet[][] === 'x') {
                    e.currentTarget.textContent = '쾅!';
                    alert('지뢰를 밟았습니다. Game Over!!');
                } else {
                    let 주변 = [
                        dataSet[][ - 1], dataSet[][ + 1],
                    ];

                    if (dataSet[ - 1]) {
                        주변 = 주변.concat([dataSet[ - 1][ - 1], dataSet[ - 1][], dataSet[ - 1][ + 1]]);
                    }
                    if (dataSet[ + 1]) {
                        주변 = 주변.concat([dataSet[ + 1][ - 1], dataSet[ + 1][], dataSet[ + 1][ + 1]]);
                    }
                    e.currentTarget.textContent = 주변.filter((e=> {
                        return e === 'x';
                    }).length;

                    console.log(주변);
               }
여기서 줄의 경우에는 -1이 들어가면 에러가 뜨는데 칸의 경우는 -1이 들어가면 undefined이 뜨는데
왜그런지 모르겠습니다.

답변 1

답변을 작성해보세요.

1

배열[-1][0]의 경우 배열[-1]은 항상 undefined이므로 undefined[0]인데 이는 에러가 납니다.

배열[0][-1]의 경우는 에러 없이 undefined가 됩니다.