자바스크립드 - 다차원 배열 테스트
자바스크립트에서는 아래와 같이 배열 선언가능
var a=new Array();
function new_Array2(a,b)
{
var i,r=new Array(a);
for(i=0;i<b;i++)
{
r[i]=new Array(b);//각 요소마다 배열을 선언해주어야 한다.
}
return r;
}
※주의 : 배열 차원을 잘못 사용하면, 배열전체가 초기화됨(자바언어의 특징)
예) 2차원 배열 -> 1차원 배열로 사용할 경우
var a2=new_Array2(3,4);
a2[0][0]=2;
a2[0]=10;//a2를 다른형태로 사용하면, 배열전체가 바뀌어버림,
console.log("a2[0]=",a2[0]);//a2[0]= 10
console.log("a2[0][0]=",a2[0][0]);//undefined
※배열차원을 넘어서면, 에러.
예) 2차배열을 3차배열로 사용할 경우.
//a3[0][0][1][2]=3;//j.c:306 Uncaught TypeError: Cannot set property '2' of undefined
function test_new_Array2()
{
console.log("test_new_Array2()");
var a2=new_Array2(3,4);
//a2[0]=10;//a2를 다른형태로 사용(선언)하면, 바뀌어버림,
//console.log("a2[0]=",a2[0]);//a2[0]= 10
console.log("a2[0][0]=",a2[0][0]);//undefined
console.log("a2[0][1]=",a2[0][1]);//undefined
a2[0][0]=2;
console.log("-a2[0][0]=",a2[0][0]);//undefined ???? a2를 다른형태로 사용(선언)하면, 바뀌어버림,
a2[0][1]=3;
//a2[0][1][2]=3;//undefined
console.log("a2[0][1]=",a2[0][1]);//ok
//console.log("a2[0][1][2]=",a2[0][1][2]);//undefined
}
test_new_Array2();
'자바스크립트' 카테고리의 다른 글
자바스크립트 프로그래밍 장단점 (1) | 2017.03.04 |
---|---|
html vs canvas 장단점 (0) | 2017.03.04 |
자바스크립트 - 구조체 struct (0) | 2017.03.01 |
javascript - 이미지 좌표(위치) 구하기 (0) | 2017.02.18 |
HTML - CSS3 vs JavaScript (0) | 2016.06.18 |