티스토리 뷰

이전 글에서는 1차원 배열에 대해서 알아봤다.


이번에는 2차원 배열에 대해서 알아보자

2차원 배열이란 배열 안에 또 다른 배열이 들어가 있다고

생각하면 된다.

1차원 배열에서는 점수에 대한 배열을 만들었는데

이번에는 학생 이름과 점수에 대한 배열을 만들어보자

//이름 and 점수 배열을 만들었다.
var student_score = new Array();
  
//이름의 배열을 만들었다.
student_score[0] = new Array();
//점수의 배열을 만들었다.
student_score[1] = new Array();
  
//2차원 배열은 잘 생각해야 된다.
//앞에서 student_score[0] 을 만들었을 때 이름의 배열로 주기 위해 만들었으므로 [0][x] 앞에[0]에는 이름이라고 생각하면 된다.
student_score[0][0] = '김일';
student_score[0][1] = '김이';
student_score[0][2] = '김삼';
student_score[0][3] = '김사';
student_score[0][4] = '김오';
student_score[0][5] = '김육';
student_score[0][6] = '김칠';
student_score[0][7] = '김팔';
student_score[0][8] = '김구';
student_score[0][9] = '김십';

//앞에서 student_score[1] 을 만들었을 때 점수의 배열을 주기 위해 만들었으므로 [1][x] 앞에[1]에는 점수라고 생각하면 된다.
student_score[1][0] = '90';
student_score[1][1] = '86';
student_score[1][2] = '83';
student_score[1][3] = '92';
student_score[1][4] = '76';
student_score[1][5] = '57';
student_score[1][6] = '87';
student_score[1][7] = '100';
student_score[1][8] = '96';
student_score[1][9] = '77';


//한개씩 출력하기
  for(var i=0; i<student_score.length; i++){
   //student_score[0].length 는 학생 수다.
   //학생이 먼저 출력된 후 점수가 출력된다.
   for(var j=0; j<student_score[0].length; j++){
    document.write("<br/>");
    document.write(student_score[i][j]);
   }
  }


  //학생이름 점수 같이 출력하기
  //student_score[1].length 는 점수배열 수이다. [0]이나[1]이나 10개씩 있기때문에 상관없다.
  //학생이름 : 점수 이런식으로 출력된다.
  for(var i=0; i<student_score[1].length; i++){
   document.write("<br/>");
   document.write(student_score[0][i]+' : '+student_score[1][i]);
  }


  //만약 student_score.length 를 출력하면 어떻게 나올까?
  //student_score.length는 간단히 생각하면 된다. 배열의 행의 개수  라고 생각하면 된다.
  //여기서는 학생이름 행, 점수 행 2개가 있으므로 2가 출력된다.

==============
  
그럼 이제 1차원 배열처럼 간단히 바꿔보자

 

var student =[['김일','김이','김삼','김사','김오','김육','김칠','김팔','김구','김십'],[90,86,83,92,76,57,87,100,96,77]];



document.write(student[0][x]);
//student[첫번째][두번째]
//첫번째는 행이다.
//0번째 행은 이름이 들어있는 배열이고 1번째 행은 점수가 들어 있는 행이다.
//두번째는 첫번째에서 정해진 행인 x번째 배열의 행을 의미한다. 이름의 행이다.
  
document.write(student[1][y]);
//student[첫번째][두번째]
//첫번째는 행이다.
//0번째 행은 이름이 들어있는 배열이고 1번째 행은 점수가 들어 있는 행이다.
 //두번째는 첫번째에서 정해진 행인 y번째 배열의 행을 의미한다. 점수배열의 행이다.

//한개씩 출력하기
  for(var i=0; i<student_score.length; i++){
   //student_score[0].length 는 학생 수다.
   //학생이 먼저 출력된 후 점수가 출력된다.
   for(var j=0; j<student_score[0].length; j++){
    document.write("<br/>");
    document.write(student_score[i][j]);
   }
  }


  //학생이름 점수 같이 출력하기
  //student_score[1].length 는 점수배열 수이다. [0]이나[1]이나 10개씩 있기때문에 상관없다.
  //학생이름 : 점수 이런식으로 출력된다.
  for(var i=0; i<student_score[1].length; i++){
   document.write("<br/>");
   document.write(student_score[0][i]+' : '+student_score[1][i]);
  }


이렇게 해서 2차원 배열에 대해서도 알아봤다.

2차원 배열부터는 다차원 배열이라고 부른다.

3차원 배열 4차원 배열 만들 수 있다. 하지만 만들어서 쓰기에는 너무

복잡해지므로 잘 사용하지 않는다.



 


댓글