인프런 커뮤니티 질문&답변

뿌셔뿌셔님의 프로필 이미지
뿌셔뿌셔

작성한 질문수

[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문

로또 추첨기에서 궁금한 점이 있어요

작성

·

221

0

안녕하세요 제로초님,

로또 추첨기 강의를 들은 뒤에 다시 혼자서 구현을 해보는데 궁금한 점이 있습니다.

우선 저는 45개의 숫자가 담긴 배열에서 랜덤으로 1개를 뽑는 과정을 7번 반복하는 코드를 작성했어요.

아직 반복문하면 for문부터 생각하는 수준이라서 while이 잘 떠오르지 않더라구요..

그런데  splice 배열메서드를 사용하면서 index 정보를 받아와서 사용하지 않으면

Math.random으로 뽑아낸 num에 담긴 숫자가 spliceNum에 담기지 않습니다. 

 

선생님께서 설명해주신 코드에는 splice ( a , b ) 에서 a에 랜덤을 뽑은 숫자(책의 random)를 바로 넣으셨는데

로또추첨기자체가 정확한 정보보다는 '랜덤'이면 되기때문에 그대로 적용하신건지

특정상황에서는 써야 하는 특징이 따로 있는 지 궁금합니다..!

 

답변 2

0

뿌셔뿌셔님의 프로필 이미지
뿌셔뿌셔
질문자

아하 num 자체를 index를 뽑는거라고 생각하면 되는거였네요..!

랜덤으로 뽑은 num 숫자와 spliceArray에 같은 숫자가 들어와야 한다고 생각했습니다 ㅠㅠ

빠른 답변 감사드립니다!

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

const index 부분이 왜 필요한지 잘 이해가 안 됩니다.

const num에서 num이 이미 인덱스입니다. 그게 인덱스니까 numbers[num]으로 원하는 숫자를 선택할 수 있고, 그걸 꺼내려면 numbers.splice(num, 1) 하면 됩니다. 즉, splice에도 저희가 랜덤으로 추출한 인덱스를 넣으면 되는 겁니다.

뿌셔뿌셔님의 프로필 이미지
뿌셔뿌셔

작성한 질문수

질문하기