인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

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

조은비님의 프로필 이미지

작성한 질문수

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

로또 번호 생성기

로또 생성기 질문!!

작성

·

163

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

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

아흑 답변이 늦었네요.

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