[JavaScript] 다차원 배열

Moon·2024년 11월 26일
0

JavaScript | 기초

목록 보기
40/48
post-thumbnail

배열의 요소는 자료형에 제한이 없어서 어떤 값이든 할당할 수 있다. 그래서 배열 안에 배열이 들어갈 수도 있는데, 이를 다차원 배열이라고 부른다.

예를 들어 배열 안에 배열이 들어가 있으면 2차원 배열, 그 안에 또 배열이 들어가면 3차원 배열이라고 한다. 기본 배열과 사용법이 크게 다르지 않고, 단순히 인덱스를 중첩해서 값을 접근하면 된다.

다차원 배열 접근 방법

다차원 배열의 각 요소에 접근하려면 단계적으로 인덱스를 지정하면 된다.

const array2D = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];

// 예를 들어, 2에 접근하려면:
const value = array2D[0][1]; // 첫 번째 배열에서 두 번째 값
console.log(value); // 출력: 2
  1. array2D[0]으로 첫 번째 배열 [1, 2, 3]에 접근한다.
  2. [1, 2, 3] 배열의 1번 인덱스를 가져오면 2를 얻는다.

이처럼 다차원 배열은 배열을 "단계적으로" 접근하는 방식으로 사용된다.

다차원 배열의 활용

다차원 배열은 값의 순서나 위치가 중요한 데이터를 표현할 때 유용하다. 구체적인 예시를 보자.

냉장고 내용물

냉장고의 각 층에 들어 있는 내용을 배열로 표현하면 다음과 같다.

const fridge = [
  ["우유", "계란"], // 1층
  ["사과", "포도"], // 2층
  ["김치", "된장"]  // 3층
];

// 2층 첫 번째 물건
console.log(fridge[1][0]); // 출력: 사과

아파트 우편함

아파트의 층별 우편함을 표현할 때도 다차원 배열을 사용할 수 있다.

const mailboxes = [
  [101, 102, 103],
  [201, 202, 203],
  [301, 302, 303]
];

// 2층 3호 우편함 번호
console.log(mailboxes[1][2]); // 출력: 203

체스판

체스 게임의 초기 상태를 배열로 저장하면 다음과 같다.

const chessBoard = [
  ["R", "N", "B", "Q", "K", "B", "N", "R"], // 1행
  ["P", "P", "P", "P", "P", "P", "P", "P"], // 2행
  [null, null, null, null, null, null, null, null], // 빈 칸
  [null, null, null, null, null, null, null, null],
  [null, null, null, null, null, null, null, null],
  ["P", "P", "P", "P", "P", "P", "P", "P"],
  ["R", "N", "B", "Q", "K", "B", "N", "R"]
];

// 퀸의 초기 위치
console.log(chessBoard[0][3]); // 출력: Q

다차원 배열 vs 객체

다차원 배열은 값의 위치가 중요한 경우 적합하다. 하지만 값의 의미가 중요한 경우라면 객체를 사용하는 것이 더 적합하다.

객체를 사용한 냉장고 표현

냉장고 각 층의 의미가 중요하다면, 배열 대신 객체를 사용해 데이터를 구조화할 수 있다.

const fridge = {
  firstFloor: ["우유", "계란"],
  secondFloor: ["사과", "포도"],
  thirdFloor: ["김치", "된장"]
};

// 2층의 첫 번째 물건
console.log(fridge.secondFloor[0]); // 출력: 사과

만약 "1층", "2층"과 같은 구분이 필요 없다면 다차원 배열을 사용하는 것이 더 간결하고 직관적이다. 순서와 위치에 초점을 두고 데이터를 다룰 때는 다차원 배열이 적합하고, 데이터의 의미와 구조를 표현하려면 객체를 사용하는 것이 효과적이다.

요약

  • 다차원 배열: 배열 안에 배열이 중첩된 구조 (2차원, 3차원 등).
  • 접근 방법: 인덱스를 단계적으로 지정하여 값에 접근 (array[행][열]).
  • 다차원 배열은 순서와 위치가 중요한 데이터에 적합. 의미와 구분이 필요하면 객체를 사용하면 된다.

다차원 배열은 배열 안에 배열이 들어가는 구조로, 특정 값에 접근하려면 단계적인 인덱싱을 사용한다. 값의 위치나 순서가 중요한 경우 적합하며, 체스판, 우편함, 냉장고 등과 같은 데이터를 표현할 때 유용하다. 반면, 데이터의 의미가 더 중요하다면 객체를 사용하는 편이 더 적합하다. 적재적소에 맞게 활용하는 것이 중요하다.

profile
MOON.DEVLOG

0개의 댓글