본문 바로가기

º Learning 。/♂ Javascript ♀

Array 예제

<script type="text/javascript">
     var i;
     // 3개의 공간을 갖는 배열을 obj에 할당
     obj = new Array(3);

     // 각 공간에 값을 대입
     obj[0] = "Java";
     obj[1] = "Html";
     obj[2] = "Javascript";

     //  4개의 공간을 갖는 배열에 초기화를 하여 obj2에 할당
     obj2 = new Array( "홍길동", 100, 80, 90);

     // 오늘 날짜를 가르키는 공간을 today에 할당
     today = new Date();
     // [] 을 사용해도 배열 선언과 같은 효과
     week = [ "일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일" ];
     // 오늘이 무슨 요일인지 값을 반환(0~6을 사용, 0:일요일, 1:월요일.... 6:토요일)
     w = today.getDay();

     document.write( "<h3>obj 배열 값의 출력</h3><p>" );
     // obj.length는 obj함수의 길이를 구하는 방법으로 
     // obj.length는 4의 값을 반환
     for ( i = 0 ; i < obj.length ; i++ )
     {
          document.write( "obj[" + i + "] = " + obj[i] + "<br>" );
     }

     document.write( "<h3>obj2 배열 값의 출력</h3><p>" );
     for ( i = 0 ; i < obj2.length ; i++ )
     {
          document.write( "obj2[" + i + "] = " + obj2[i] + "<br>" );
     }

     document.write( "<h3>week 배열 값의 출력</h3><p>" );
     document.write( "오늘은 무슨 요일입니까? " + week[w] );
</script>

결과값



<script type="text/javascript">
     var i, hap=0, py=0;
     // 4개의 공간을 갖는 배열을 obj에 할당
     obj = new Array[4];
     // 문자열을 입력받아 대입하는 명령
     obj[0] = prompt("이름을 입력하세요.","");
     // 문자열을 입력받아 상수로 변환하고 배열에 대입하는 명령
     obj[1] = parseInt(prompt("국어 성적을 입력하세요.",""));
     obj[2] = parseInt(prompt("영어 성적을 입력하세요.",""));
     obj[3] = parseInt(prompt("수학 성적을 입력하세요.",""));

     document.write(" 이름 : " + obj[0] + "<br>");
     document.write(" 국어 : " + obj[1] + " 점<br>");
     document.write(" 영어 : " + obj[2] + " 점<br>");
     document.write(" 수학 : " + obj[3] + " 점<br>");
     
     // 입력받은 3가지의 점수의 합계
     for (i = 1; i < obj.length ; i++ )
     {
          hap += obj[i];
     }
     // 3과목의 평균
     py = hap / (obj.length-1);
     document.write("총점 : " + hap + "<br> 평균 : " + py);

</script>

결과값



<script type="text/javascript">
     var monthDays = new Array( 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
     // 2009. 05. 26 기준
     today = new Date();               // 주소 공간 할당
     year = today.getYear();          // 오늘에 해당하는 년도 대입
     thisDay = today.getDate();      // 오늘에 해당하는 일수 대입

    
     // 윤년 여부를 검사하여 2월 달을 29일로 설정
     // 4의 배수이고 100의 배수가 아니거나 400의 배수이면 윤년

     if(((year % 4 == 0 ) && (year % 100 != 0 )) || (year % 400 == 0))
     {
          monthDays[1] = 29;
     }

     // 오늘에 해당하는 월을 입력 받아 배열에서 값을 선택 nDays에 대입
     // getMonth()는 0~11 사이의 값을 반환하기 때문에 나온 결과값에 1을 더해야 해당하는 월의 값을 얻을 수 있다.
     // ex) 오늘 5/26  today.getMonth()는 4, 배열 monthDays[4]의 값은 31, nDays의 값은 31
     nDays = monthDays[today.getMonth()];

     // firstDay도 today처럼 Date()에서 메소드를 사용할 수 있게 선언
     firstDay = today;

     // setDate()를 사용하여 날짜를 1일로 초기화
     firstDay.setDate(1);

     // 위에서 setDate()를 사용하여 초기화한 값 1일의 요일을 구하는 선언
     // getDay()는 0~6을 반환(일월화 ~ 토),
     // startDay의 값은 5
     startDay = firstDay.getDay();

     document.write( "<center>" );
     document.write( "<table border=1>" );
     document.write( "<tr><th colspan=7>" );
     document.write( year + "년 " + (today.getMonth() + 1) + "월</tr>" );
     document.write( "<tr><td>일</td><td>월</td><td>화</td><td>수</td><td>목</td><td>금</td><td>토</td>" );

     document.write("<tr>");

     // 일주일을 세는 카운터
     // column이 7이 되면 테이블을 다음 줄로 바꿀 수 있도록 하는 Flag 역할
     column = 0;

     // startDay값은 5이므로 0 ~ 4 즉 일요일부터 목요일까지 빈공간으로 테이블을 채움
     for (i = 0;i < startDay;i++ )
     {
          document.write( "<td>&nbsp;</td>" );
          column++;
     }

     for (i = 1;i <= nDays ;i++ )
     {
          document.write( "<td>" );
          if (i == thisDay) document.write( "<font color = red>" );
          // 위,아래의 if문은 i가 오늘날짜일 때만 빨간색이 되도록 해줌
          document.write( i );
          if (i == thisDay) document.write( "</font>" );

          column++;
          // i의 값이 월의 마지막 일과 같으면서 column이 7... 즉 토요일까지 증가하지 않았을때
          if (i == nDays && column != 7)
          {
          // 나머지 빈공간을 생성한다.
          for (;column < 7 ;column++ )
          {
               document.write( "<td>&nbsp;</td>" );
          }
          }else if (column == 7)
          {
          document.write( "<tr>" );
          column = 0;
          }
     }
     document.write( "</table>" );
     document.write( "</center>" );
</script>

결과값