메뉴 건너뛰기

이동연2017.11.10 18:42
<script>
var plots=[];
for(var i=0;i<10;i++) {
var plots= Math.floor(Math.random()*100)+1;
document.write(plots + " ");
}
document.write("<hr>");

var big = plots[0];
for(var i=0;i<10;i++){
if(big<plots[i])
{
big=plots[i];
}
}
document.write("제일 큰 수는 " +big);
</script>

이코드가 잘못된것은 처음에 plots 배열을 만들었자나요 ! 우선 선언을 할때 var plots=new Array(10); 이라고 명시를 해주시는 편이 더좋습니다. 그리고
plots는 위에서 이미 선언되어있는데 또 다시 var 이라고 선언하는건 불필요하구요 그 다음은 plots 라는 배열을 만들었는데 이제 1~100 사이의 숫자를 배열에 넣어줘야되는데 저런식으로 넣어주면 들어가지
않습니다 그래서 for문을
for(var i=0;i<10;i++) {
plots[i]= Math.floor(Math.random()*100)+1;
document.write(plots + " ");
}
이렇게 변경하셔야됩니다.

그런데 그럼에도 불구하고 결과값이 나온 이유는 for문 앞에 var plots를 선언해줘서 내부 변수로 인식해서 plots는 값에 난수를 입력해주고 그 난수를 바로출력해주고 그런 행위를 10번해서 나오게 된 값입니다. 그리고 undefined 값이 나온이유는
var big = plots[0];
for(var i=0;i<10;i++){

if(big<plots[i])

{

big=plots[i];
i--;
document.write(big);

}

한번도 plots[i] 배열값에 접근한적이없는데 접근을 할려고하니 값이 없어서 나온것입니다. 이해 안되는 부분있으면 남겨주세요
파일 첨부

여기에 파일을 끌어 놓거나 파일 첨부 버튼을 클릭하세요.

파일 크기 제한 : 0MB (허용 확장자 : *.*)

0개 첨부 됨 ( / )
위로