티스토리 뷰

배열의 요소에도 특별히 제한된 자료형이 없습니다.

객체의 프로퍼티 값과 같이 어떠한 값이든 모두 할당할 수가 있고 배열 역시 배열의 요소가 될 수 있습니다.

// 다차원 배열 (multidimensional array)
let twoDimensional = [[1,2],[3,4]];

console.log(twoDimensional[0][1];

이렇게 배열 안에 배열이 들어가게 되면 이것을 2차원 배열이라고 부르는데 만약 배열 안에 2차원 배열이 또 들어가게 되면 3차원 배열이라고 부르게 됩니다. 그래서 이렇게 배열의 요소에 배열이 들어가는 형태를 가리켜서 다차원 배열이라고 부릅니다.

2차원 배열의 각 요소에 접근하려면 어떻게 해야 할까요?

만약 2라는 값에 접근하고 싶다면 일단 twoDimensional의 0번 인덱스에 접근해서 실행해보면 [1,2]를 담은 배열이 나옵니다. 그리고 나면 이 부분이 또 배열이므로 자연스럽게 여기서 한 번 더 1번 인덱스에 접근하면 2라는 값에 도달할 수 있습니다. 저장하고 실행해보면 2가 잘 출력이 되는 모습을 확인할 수 있습니다.

 

let myFridge = [
    ['참외','토마토','오이','양파'],
    ['볶음양파','장조림','김치'],
    ['사이다','콜라','물','쥬스'],
    ['사과','바나나','청포도'],
    ['얼음'],
    ['찰떡아이스','투게더','메로나'],
];

let mailbox = [
	[101, 201, 301, 501, 601],
    [102, 202, 302, 502, 602],
    [103, 203, 303, 503, 603],
    [104, 204, 304, 504, 604],
    [105, 205, 305, 505, 605]
];

let chessBoard = [
	['R', 'N', 'B', 'O', 'K', 'B', 'N', 'R'],
    ['R', 'N', 'B', 'O', 'K', 'B', 'N', 'R'],
    ['R', 'N', 'B', 'O', 'K', 'B', 'N', 'R'],
    [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],
    [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],
    [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],
    [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' '],
    ['P', 'P', 'P', 'P', 'P', 'P', 'P', 'P'],
    ['r', 'n', 'b', 'q', 'k', 'b', 'n', 'r'],
]

냉장고 칸별로 들어있는 내용물을 표시하거나 아파트나 빌라 건물 입구에서 자주 볼 수 있는 우편함을 표현하거나 아니면 체스 게임을 표현할 때 다차원 배열을 활용할 수도 있습니다.여기서 이 예시들의 공통점을 한번 찾아본다면 여기 있는 값들의 의미보다는 이 값들의 위치나 혹은 순서에 초점이 맞춰져 있습니다. 만약 여러 값들의 의미가 중요하다면 사실 배열보다는 프로퍼티를 활용할 수 있는 객체를 만드는 게 조금 더 효과적입니다.

let otherFridge = {
    fridge: {
        '채소층': ['참외','토마토','오이','양파'],
        '반찬층': ['볶음양파','장조림','김치'],
        '음료층': ['사이다','콜라','물','쥬스'],
        '과일층': ['사과','바나나','청포도']

    }
    freezer: {
        '얼음층': ['얼음'],
        '아이스크림층': ['찰떡아이스','투게더','메로나'],
    }
}

한 가지 예시로 냉장고 각층의 구분이 굉장히 중요해서 의미를 부여하고 싶었다면 객체를 만들어 주는 것이 좋습니다. 하지만 굳이 이런 의미들이 중요하지 않고 여러가지 값들을 가지고서 순서나 위치에 중점을 두는 정보가 필요하다면 다차원 배열을 활용할 수 있습니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
글 보관함