Page 20 -
P. 20

}
                     console.log(answer);
                   </script>



               answer이라는 빈 배열을 만들고, numbers 배열로부터 숫자를 하나씩 꺼냅니다. 0부터 3까지

               네 번 반복합니다. n은 반복문 내에서 실제로 사용하는 변수가 아니므로 0 < n <= 3으로 해도
               되고, 1 < n < 5로 해도 됩니다. index를 무작위로 뽑고, numbers[index]로 실제 숫자를 가져
               옵니다. answer 배열에 뽑은 숫자를 추가(push)하고 나면 numbers 배열에서는 제거(splice)합

               니다.

               number-baseball.html을 실행해 콘솔 창을 열고 확인 버튼을 클릭해 보면 숫자 네 개가
               잘 뽑힙니다. 그런데 새로고침을 계속하다 보면 가끔 undefined가 섞여 나올 때가 있습니다.


               그림 5-3 undefined가 나오는 경우




















               undefined가 나오는 이유는 Math.random() * 9 때문입니다. 네 번 반복해서 0에서 8까지의

               숫자를 뽑는데, numbers 배열에 든 숫자는 하나씩 줄고 있습니다. 예를 들어, numbers 배열에
               [1, 2, 3, 4, 5, 6, 7, 8, 9]가 있고 처음에 인덱스 5를 뽑았다면 numbers는 [1, 2, 3, 4,

               5, 7, 8, 9]가 됩니다.


                   [1, 2, 3, 4, 5, 6, 7, 8, 9][5] === 6



               인덱스와 실제 요소를 헷갈리지 마세요! 인덱스는 0부터 시작하는 숫자이고, 요소는 배열 안에




          246
   15   16   17   18   19   20   21   22   23   24   25