반응형
var num = 0;
var lotto = new Array();
var is_duplicate = false;
for (var i = 1; i < 6; i++) {
lotto.push(0);
}
for (var i = 0; i < 6; i++) {
num = Math.ceil(Math.random() * 45);
if(i==0) {
lotto[i] = num;
} else {
is_duplicate = false;
for (var j = 0; j < i; j++) {
if(num==lotto[j]) {
is_duplicate = true;
i = i - 1;
break;
} else {
//
}
}
if(is_duplicate==false) {
lotto[i] = num;
}
}
}
for (var i = 0; i < 6; i++) {
document.write(lotto[i] + " ");
}
document.write("<br>");
설명
random으로 1~45까지 번호를 출력
중복 검사 - var is_duplicate = false; 는 중복이 없다라는 전제로 시작
if문에서 is_duplicate = true; 즉 중복이 있다라면 i = i - 1; 가 실행되고
반복문에 i를 다시 제자리로 돌려 그 부분만 다시 시작한다.
다시 중복 검사후
중복 없다면 아래쪽 if문 if(is_duplicate==false) lotto[i] = num; 실행
결과
6가지의 1~45까지의 중복없는 수가 찍힘
ex) 26 40 38 17 25 14 //오름차순으로 아직 바꾸지 않음
반응형
'참고 > JAVASCRIPT' 카테고리의 다른 글
JSON - Javascript Object Notation (0) | 2020.05.26 |
---|---|
콜백함수와 DOM 제어 (0) | 2020.05.22 |
재귀함수 - Recursive Function (0) | 2020.05.21 |
배열 - slice, splice, concat, pop, push (0) | 2020.05.19 |
스크롤 이벤트 - 클릭시 상단으로 이동하는 버튼 구현 (0) | 2020.05.16 |
댓글