[자바스크립트 기초] 배열함수 및 2차원 배열 알아보기

[자바스크립트 기초] 배열함수 및 2차원 배열 알아보기



유니티 수업과 같이 하는 자바스크립트 수업!

이번시간엔 배열에 대해서 알아보도록 합니다.





배열은, 게임에서 많이 쓰이는 스크립트 입니다.


예를들어서, 디펜스 같은 게임에서,

레벨 1때는 쪼랩 몬스터만 나오게 하고...

점점 레벨이 오르면서 강한 몬스터가 출연을 하는데,


이 때 필요한 것이 바로 배열 입니다.





자, 이것이 배열의 기본 구조 입니다.

[] 이런 괄호안에 넣고자 하는 오브젝트를 넣습니다.


그리고 녹색 박스안의 것은 지난시간에 배운 for 문 아시죠???


배열 변수는 여기서는 S를 주었네요?

그리고, s.length 라는 것은, 바로 [] 안의 갯수들을 말하는 것입니다.


저기서는 소녀시대 맴버들을 모두 등록했는데,

그러면 모두 7명이죠?


따라서, s.length 는 7 이 되어서 7명모두 출력이 정상적으로 될 겁니다.





이렇게 정상적으로 배열에 등록된 멤버들이 출력이 됩니다.





그러면, +2를 하면, 모두 9가 되니까, 9개가 출력이 되는데요,

문제는, 소녀시대는 맴버가 7명 뿐인데, 그럼 나머지 두명은????





이렇게 됩니다....2명이 공석이니까, Undefined 라고 출력됩니다.

없다는 소리죠. ㅎㅎㅎ




자, 이제는 응용을 한번 들어가 보겠습니다.

ㅇㅅㅇ 눈 크게 뜨고 따라와 주세요오~!





자, 이번엔 ar 이라는 변수를 배열변수로 이용하는데요,

그 밑에 바로 for 문을 이용해서 구성하는 방법인데, 간단하게 활용 할 수 있습니다.


근데, 특이한 점은, for 문 안에서 바로 변수 var를 쓸 수 있습니다.


(var , 변수 , in , 배열)


이런 구조 입니다.





그러면, 이렇게 자알~ 출력이 됨을 확인하실 수 있습니다.





또한, 배열은 숫자든 문장이든, 소숫점 숫자든...모두 다 배열로 등록을 할 수 있습니다.

위의 예시를 보시면, 다양한 소스들이 총 4개가 등록 되어있죠?


ar.length 로 알아보겠습니다.





4개 넣어놨으니, 당연히 4 라고 출력이 됩니다^^





또한, ar 에 등록된 배열 오브젝트들을 정상적으로 출력하게 할 수 있어요.





네^^ 잘 나오죠????





이번엔, 2차원 배열 입니다.

말 그대로, 배열이 두개 이상 섞인 구조 인데요,





이건 2차원은 아니고요, 배열을 세개 넣어 본 구조 입니다.

이제 이것을 하나의 배열로 묶음으로 합체를 해 볼 거에요.





[1,2,3,4] , [5,6,7,8] , [9,10,11,12] 이것을 이렇게 만들어 버리는 것이죠.


[ [1,2,3,4] , [5,6,7,8] , [9,10,11,12] ]


이렇게 다시 괄호를 써서 하나로 묶습니다.

이것이 2차원 배열 입니다.


그리고, ar[0][0] 이렇게 쓰는데, 이건 무슨 소리냐면,

처음 [0] 은, 묶음의 첫번째 것! 즉, [1,2,3,4] 를 말합니다.

두번째 [0] 은 처음 묶음의 첫번째 등록 오브젝트! 즉, 1 이죠.


ar[0][0] = 1

ar[2][2] = 11

ar[1][3] = 8


이렇게 되는 것이죠. 이해되셨죠???





문장에서는 ar[0][i] 였으니, 첫번째 배열묶음의 모든것을 출력하라 라는 뜻이므로,

이렇게 출력이 되겠지요.





이 배열묶음에 변수 J 를 만들어 활용이 가능합니다.


저런 구조 인데요, ar[j][i] 를 하니까,

모든 것을 출력하라는 소리겠죠?





이렇게 출력이 되겠지요^^



배열 기초와 응용편인 2차원 배열을 알아보았습니다.

많이 어렵지는 않지요??? ㅎㅎㅎ


유니티랑 자바스크립트는 매우 친하므로, 둘 다 어느정도 숙지를 해 두시면 참 좋습니다.



이 글을 공유하기

댓글(2)

  • 2015.09.16 11:57 신고

    안녕하세요 2차원배열 공부하다가 (책도!강의도!) 이해가 안가서 검색해서 들어와서 읽었는데... 덕분에 바로 이해했습니다!! 쉽게 알려주셔서 정말 감사합니다!!!

Designed by JB FACTORY