자바스크립트 세번째 - 배열 (2차원배열), for/in 문

 

앞에서 배운 1차원 배열에 이어서 2차원배열, for/in문에 대하여 공부하겠습니다.

 

。2차원 배열?

   - 배열은 1차원 배열과 2차원 배열, 3차원 배열..., n차원 배열이 있을 수 있습니다. 3차원 배열부터는 너무 복잡해서 잘

     사용하지 않습니다. 프로그램을 복잡하게 작성하는 것은 좋은 방법이 아닙니다. 쉬운 방법으로 프로그래밍을 코딩하여

     프로그램 가독성을 높여야 합니다.

 

프로그램 가독성

프로그램을 이해하기 쉬운것을 말하고, 이해하기 쉬운 프로그램은 수정하거나, 기능을 추가하는 유지보수가 쉬워지고 생산성이 높아진다.

      2차원 배열은 열과 행이 있는 공간에 데이터를 저장합니다.

      2행 3열의 2차원 배열을 만드는 코드를 알아 보겠습니다. 먼저, 2행을 저장할 myArray 1차원 배열을 아래와 같이 작성합니다.

      var myArray = new Array(2);     그 다음에는 첫 번째 행에 3개의 열을 저장하는 1차원 배열을 아래와 같이 작성합니다.

      myArray[0] = new Array(3);      마지막으로 두 번째 행에 3개의 열을 저장하는 1차원 배열을 아래와 같이 작성합니다.

      myArray[1] = new Array(3);

      위의 코드는 복잡합니다. 좀 더 간단하게 작성하는 방법이 있습니다. 아래와 같이 작성합니다.

      var myArray = new Array( new Array(3), new Array(3) );

 

앞의 2행 3열 2차원 배열 myArray의 각요소에 데이터를 넣어보겠습니다.

myArray[0][0] = 1;

myArray[0][1] = 2;

myArray[0][2] = 3;

myArray[1][0] = 4;

myArray[1][1] = 5;

myArray[1][2] = 6;

      2차원 배열도 1차원배열과 마찬가지로 배열의 선언과 함꼐 초기화 할 수 있습니다. 아래와 같이 표현합니다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

      var myArray = [ [1,2,3,],[4,5,6,] ];

 

。 2차원 배열의 크기

   - 2차원 배열의 크기는 행의 크기와 열의 크기가 있습니다. 행의 크기는 myArray.length로 구할 수 있습니다.

열의 크기는 myArray[0].length 나 myArray[1].length 로 구할 수 있습니다.

 

중첩 for문을 이용한 2차원 배열 읽기 

 

 

코드 설명

2차원 배열은 myArray 를 선언한 후 중첩 for문을 통해 값을 출력하는 코드다.

첫번째 for문은 myArray배열의 행의 길이 만큼 i 값이 증가하며 두번째 for문은 증가된 i값을 조건으로

myArray의 열의 값을 가져온다.

 

。 for/in 문

  - for/in문을 반복문 for 에서 공부하지 않고 배열에서 공부하는 이유는 배열에서 유용하게 사용할 수 있기 때문입니다. 

     for/in 문에 배열을 주면 따로 반복 조건을 줄 필요 없이 배열의 크기만큼 알아서 반복을 해줍니다. 아래의 예제를 보겠습니다.

     

 

 



출처: https://rank01.tistory.com/34 [JAVA FOR JAVA]

 

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
60 Is there a limit of vertices in WebGL? 웹지엘의 제약사항 졸리운_곰 2017.08.16 554
59 JavaScript Performance Monitor file 졸리운_곰 2017.08.16 371
58 Monitor Rendering Performance Within Three.js file 졸리운_곰 2017.08.16 541
57 List of WebGL frameworks 졸리운_곰 2017.08.16 500
56 From Unity to Three.js file 졸리운_곰 2017.08.16 1750
55 Collada dae to three.js json convertor sample file 졸리운_곰 2017.08.16 579
54 THREE.WebGLShader: Shader couldn't compile - Chrome Version 44.0.2403.125 #6929 file 졸리운_곰 2017.08.10 557
53 Uniforms types 졸리운_곰 2017.08.10 547
52 Custom shaders with Three.JS: Uniforms, textures and lighting file 졸리운_곰 2017.08.10 699
51 WebGL and ThreeJS Using Blender Models file 졸리운_곰 2017.08.05 356
50 Importing a Modeled Mesh From Blender to Three.js file 졸리운_곰 2017.08.05 458
49 Using SketchUp Models OrcaXS edited this page on 27 Apr · 7 revisions 졸리운_곰 2017.08.05 459
48 Three.js Loading .mtl and .obj - object stays white file 졸리운_곰 2017.08.05 541
47 [three.js] How to Build a First Person Shooter in the Browser with Three.js and WebGL/HTML5 Canvas file 졸리운_곰 2017.07.22 534
46 [three.js] WebGLRenderer 졸리운_곰 2017.07.22 490
45 Clone an Object3D model from a Collada load call 졸리운_곰 2017.07.22 345
44 [three.js] Quaternion 4원수, 사원수 회전 졸리운_곰 2017.07.08 919
43 COLLADA, TinyXML, and OpenGL file 졸리운_곰 2017.07.06 502
42 [github][gist] Mouse-Picking Collada Models with THREE.js file 졸리운_곰 2017.07.06 584
41 Mouse-Picking Collada Models with three.js, Part II file 졸리운_곰 2017.07.06 338
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED