toraa 2022. 6. 9. 18:08

<script type="text/javascript">

document.write("<h3>Array객체의 생성과 length속성</h3>");

1. 배열생성1
 let arr = new Array();  arr ----> [10] [javascript] [programming]
 arr[0] = 10;
 arr[1] = "JavaScript";
 arr[2] = "Programming";

추가
 arr[5] = "자바스크립트가 재밌어요ㅇㅅㅇ";

접근(읽어오기)
 document.write('arr[0] = ' + arr[0] + '<br>');
 document.write('arr[1] = ' + arr[1] + '<br>');
 document.write('arr[2] = ' + arr[2] + '<br>');

길이
 document.write('arr.length = ' + arr.length + '<br>');

변경
 arr[0] = 20;
 document.write('arr[0] = ' + arr[0] + '<br>');

한번에 읽어오기
 document.write('<hr>');

 for(i=0; i< arr.length; i++){
 document.write('arr['+i+'] = '+ arr[i]+'<br>');
}

 
감소
 document.write('<hr>');

 arr.lenth = 3;
 document.write('arr배열의 현재 길이는 = '+arr.length+'<br>');
 for( i=0; i< arr.length; i++ ){
 document.write('arr[' + i + '] = '+ arr[i] + '<br>');

}

 

배열생성방식2
 document.write('<hr>');

 var strArr = new Array('관악산','설악산','지리산','백두산');
 for( i=0; i< strArr.length; i++ ){
 document.write('strArr[' + i + '] = ' + strArr[i] + '<br>');
 }

배열생성방식3 : [ ], 여러 데이터타입을 혼합하여 저장 가능
document.write('<hr>');
function adder(a,b){
let sum = a + b ;
return sum;
}
                                                       let mixArr[3] = new Date()
let mixArr = ['HTML/CSS', 100, 3.14, new Date(), adder(3,4) ];
for ( i=0; i< mixArr.length; i++ ){
 document.write( 'mixArr[' + i + '] = ' +  mixArr[i] + '<br>' );
}

</script>
</script>


<script type="text/javascript">

months - 1,2,3,4,5,6,7,8,9,10,11,12                        > 생성하고 반복문으로 "월"붙여서 출력하시오
days - "Sun","Mon","Tue","Wed","Thu","Fri","Sat"   > 요일을 붙여서 출력하시오
season - "봄","여름","가을","겨울"
images - 이미지1, 이미지2, 이미지3 저장               > 한장씩 배열로 접근해서 이미지 출력 

var monthArray = new Array( '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12' );
 for ( i=0; i<monthArray.length; i++ ){
 document.write( monthArray[i] + '월<br>' );
}

document.write('<hr>');

var daysArray = [ 'Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat' ];
 for ( i=0; i<daysArray.length; i++ ){
 document.write( daysArray[i] + '요일<br>' );
}
 
document.write('<hr>');

var seasonArray = [ '봄', '여름', '가을', '겨울' ];
 for ( i=0; i<seasonArray.length; i++ ){
 document.write( seasonArray[i] + '<br>' );
}

document.write('<hr>');
 
let imgArray = ['https://i1.sndcdn.com/avatars-000751960345-ath81o-t500x500.jpg' , 'https://media.bunjang.co.kr/product/165951534_1_1633222776_w%7Bres%7D.jpg'];
for ( i=0; i<daysArray.length; i++ ){
document.write( " <img src=' " + imgArray[i] + " '> " );


</script>


<script type="text/javascript">
document.write("<img src=https://i1.sndcdn.com/avatars-000751960345-ath81o-t500x500.jpg width='300px' height='100%' >");

function f(){
return "안녕하세요";
}

let arr =[1,2,3,"자바스크립트",f(), new Date(), null, true];

document.write("<br>"+arr[5]+"<br>");

document.write("오늘은 "+arr[5].getFullYear()+"년"+(arr[5].getMonth()+1)+"월 "
+ arr[5].getDate()+"일 입니다.");

</script>


이차원 배열 : 행과 열을 갖는 배열

<style type="text/css">

table{
 width: 300px; height: 300px;
 background-color: lightgray;
 text-align: center;
 border-collapse: collapse;
 font-size: 12px;
}
#h {background-color:#DB7093; color: white;}
caption{
 font-size: 18px;
}

</style>

<script type="text/javascript">
  
                          열, td
행, tr      서대길   컴공   88  79
             김건부   수학   70  83
              허수     행정    92  95 

생성방법1
let s = [ ]

let student1 = new Array(
 ['서대길', '컴공', 88, 76]
 ['김건부','수학',70,83],
 ['허수','행정',92,95],
 ['장하권','물리',85,92],
 ['노태윤','건축',97,88]
);

document.write( student1[0][0] );

생성방법2
let student2 =  new Array(   student2.length
 
new Array( '서대길', '컴공', 88, 76 ), student2[0].length
new Array( '김건부','수학',70,83 ),  student2[1].length
new Array( '허수','행정',92,95 ),     student2[2].length
new Array( '장하권','물리',85,92 ), student2[3].length
new Array( '노태윤','건축',97,88 ) student2[4].length
);

document.write("<table border='1'>");
document.write("<caption>성적테이블</caption>");

document.write("<tr id='h'><td>이름</td><td>전공</td><td>중간</td><td>기말</td></tr>");

반복문+배열값으로 td처리
  for( i=0; i<student1.length; i++ ){     
document.write("<tr>");

for( j=0; j<student1[i].length; j++ ){

   열  


document.write("<td>"+student1[ i ][ j ]+"</td>")
}
document.write("</tr>");
}

document.write("</table>");


</script>


문자열 인덱스  

<script type="text/javascript">

var score = new Array();
var subject = "javascript";


문자열 인덱스로 값넣기
score["web"] = 75;
score["subject"] = 92;
score["project"] = 85;

document.write('score[web] = '+score['web']+'<br>');
document.write('score[subject] = '+score['subject']+'<br>');
document.write('score[project] = '+score['project']+'<br>');

document.write("<hr>");
for( i=0; i<score.length; i++){
document.write('score[i] = '+"score["+i+"]"+'<br>');
}

for(const value in score){
document.write(value+"<br>");
}
document.write("<hr>");


</script>


<style type="text/css">

form{
 margin: 2px; border: none; padding: 5px;
 text-align: center;
 line-height: 40px;
 background-color: #24b8eb;
 width: 300px; height: 200px;
 box-shadow: 10px 10px 5px pink;
}
button {
 font-weight: bolder;
 text-shadow: 1px 1px 2px blue;
 border-radius: 10px;
 box-shadow: 2px 2px 0.7px lightgray;
}

</style>
<script type="text/javascript">

function compute(){
total = parseInt(form1['kor'].value) + parseInt(form1['math'].value);
avg = total/2;

alert((form1['strName'].value)+'학생의 평균은 '+avg+'입니다');
}

</script>
</head>
<body>
<h3>문자열 인덱스를 활용</h3>
<hr>

<form action=" " name="form1">
이 름 : <input type="text" name="strName" value=" " placeholder=" "><br>
국어성적:<input type="text" name="kor" value=""><br>
수학성적:<input type="text" name="math" value=""><br><br>

<button onclick="compute()">성적처리 결과</button>
</form>
</body>
</html>


<script type= "text/javascript">

let brands = ["애플","구글","LG","삼성","현대"];

for(const brand of brands){
document.write(brand+"<br>");
}

</script>