<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script>
function test(){
//중복되지 않은 난수 6개 발생
//(1~45범위 내)
//번호는 정렬시켜서 출력할 것.
var lotto = new Array();
var count =0;
while (count<6){
count++;
var reslt = parseInt(Math.random()*45 +1);
if(isCopy(lotto,reslt,count)){ //중복여부 함수
lotto[count] = reslt;
}
}
lotto = mySort(lotto); //숫자 크기대로 출력하기
/* for(i in lotto){
document.write("prop=" +i+ "; value=" +lotto[i] +"<br>");
}
*/
//결과 출력
var str="";
for (var i=0;i<lotto.length ;i++ ){
str += lotto[i] +" ";
}
alert(str);
}
//중복검사
function isCopy(lotto,reslt,count){
for(var i=0; i<count; i++){
if (lotto[i] ==reslt){
return false;
}
else{
return true;
}
}
}
//숫자 기준 정렬
function mySort(arr){
for(var i=0; i<arr.length; i++){
for(var j=1; j<arr.length; j++){
if(parseInt(arr[j-1])>parseInt(arr[j])){
var temp;
temp = arr[j-1];
arr[j-1] =arr[j];
arr[j] =temp; // a0, a1, a2, a3, a4, a5 만약 a0값이>a1라면, 변수 temp는 a0자리(arr[j-1])에 배치되고
//a0 자리는 a1자리로 배치된다. 그리고 a1은a0으로 가게된다.
}
}
}
return arr;
}
</script>
</HEAD>
<BODY>
<input type="button" value="로또 번호"[안내]태그제한으로등록되지않습니다-xx[안내]태그제한으로등록되지않습니다-xxonclick="test();">
</BODY>
</HTML>
버튼을 누를 때마다 undefined가 뜹니다. 이 놈이 있는 곳을 어떻게 찾을 수가 있을까요? 여러분~~~ 부탁드립니다..
삭제된 댓글 입니다.
^^ 답변 정말 감사드립니다. 그런데 undefined는 역시 함수 밖으로 빼줘도 나와요.. ㅜ.ㅜ 어떤 선언이 잘못된 것일까요?
그리고 undefined가 뜨자 바로 숫자 순서에서 잘못이 있을거란 생각은 어떻게 갖게 되셨는지 궁금합니다. 사실은 이런 생각을 갖고 있는게 센스 같은데 이게 더 중요할 듯 해요.. 답변 무척 감사드립니다. 푹 잘 주무시길 바랍니다. 초보의 길은 참.. 험난합니다.
삭제된 댓글 입니다.
답변 감사드립니다. 님께서 말씀하신 것이 맞는 듯 해요. 아무래도 lotto[0]을 찾아내서 null값으로 초기화 시켜버리면 될 것도 같아요. 감사합니다.