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

조은비님의 프로필 이미지
조은비

작성한 질문수

모던 자바스크립트(javascript) 개발을 위한 ES6 강좌

로또 번호 생성기

로또 생성기 질문!!

작성

·

127

0

for(let i=0; i < count; i++){

getRandomNumber(maxNumber);

}

선생님께서는 코드를 이렇게 돌리셨는데

이코드를 유지한 상태로 중복이 발생하여 set에 난수가 추가 되지 않았을때 다시 for문의 i 값을 되돌려서 코드를 다시 돌리게 하는 방법을 잘 모르겠습니다

그래서 이렇게 코드를 짜보기는 했지만 선생님께서는 어떻게 짜셨는지 궁금하네요

혹시 다른분이 방법을 알고계시다면 알려주시면 감사하겠습니다!

const SETTING = {

name : "lucky lotto",

count : 6,

maxNumber : 45

};

const {count, maxNumber} = SETTING;

var lotto = new Set;

function getRandomNumber(maxNumber) {

let tmp = Math.floor(Math.random()*maxNumber) + 1;

lotto.add(tmp);

};

for(let i=0; i < count; i++){

getRandomNumber(maxNumber);

if(lotto.size !== i+1){

i--

}

}

lotto.forEach( v => console.log(v));

답변 1

2

윤지수님의 프로필 이미지
윤지수
지식공유자

아흑 답변이 늦었네요.

원하는 루프를 다시 돌려야 한다면, 그 부분을 함수로 감싸고, 함수를 다시 실행해시보는 건 어떨까요?

조은비님의 프로필 이미지
조은비

작성한 질문수

질문하기