🤍 전 강의 25% 할인 중 🤍

2024년 상반기를 돌아보고 하반기에도 함께 성장해요!
인프런이 준비한 25% 할인 받으러 가기 >>

  • 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

리셋버튼구현했는데 2번까지는 버튼이 잘 작동하는데 3번부터 undefined가 나오네요..?

23.05.10 16:51 작성 조회수 403

0

//reset 버튼 클릭 시
      function onReset() {
        answer.length = 0; //답 초기화
        for (let n = 0; n < 4; n += 1) {
          //4번 반복
          const index = Math.floor(Math.random() * numbers.length); // 0~8 정수로 시작해서 1씩 줄어들게
          answer.push(numbers[index]);
          numbers.splice(index, 1);
        }
        console.log(answer);
        $logs.textContent = "";
        document.body.removeChild(resetBtn);
        out = 0;
        return;
      }
const resetBtn = document.createElement("button");
if (answer.join("") === value) {
          //join() : [3,4,2,4] => '3424'
          $logs.textContent = "홈런";
          $logs.style.color = "blue";

          //reset btn 만들기
          resetBtn.innerHTML = "reset";
          document.body.appendChild(resetBtn);
          resetBtn.addEventListener("click", onReset);
          return;
        }

첫번째 코드블럭은 리셋버튼 클릭시 구현되는 함수입니다.

두번째 코드블럭은 홈런시, 리셋버튼이 화면에 보이게 하는 코드입니다.

리셋버튼이 2번은 잘 기능하지만 3번째 리셋버튼을 누르면 answer에 undefined로 배열이 나옵니다..따로 에러메시지는 없습니다!! 다른 코드는 제로초님과 동일하게 진행했습니다. 혹시, 더 필요한 부분이 있으시거나 잘못된 부분이 있다면 말씀부탁드립니다 :) 감사합니다.

답변 1

답변을 작성해보세요.

0

numbers가 splice로 인해 빈 배열이 되는 것 아닌가요??

채널톡 아이콘