[Javascript] 다차원 배열(matrix) 구현

jinsunee·2021년 2월 22일
0

자바스크립트에는 자바나 c++ 처럼 다차원배열이 없다.
사실 내장된 것이 없을 뿐 만들었을 때 출력되는 값은 똑같다.

그렇지만 알고리즘 문제를 풀기위해서 다차원 배열을 구현해야한다면 훨씬 마이너스이긴하다....

아무튼 목표는 다음과 같다.

let row = 3;
let column = 3;

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

코드

아래는 javascript에서 다차원 배열을 구현하기위한 코드이다.

1. matrix() 함수

function matrix(rows, columns) {
	const rtn = new Array[rows];
    
    for (let i=0; i<rows; i++) {
    	rtn[i] = new Array(columns);
    }
    
    return rtn;
}

2. 📌Array.from()📌이용해서 만들기

// 두번째 방법: Array.from
const arr1 = Array.from(Array(rows), () => new Array(columns));

ES6를 지원하는 환경에서만 사용 가능하지만, 짧은 코드니까 당연히 코딩테스트 볼 때는 이게 더 적절할 것 같다.

예제 코드

function matrix(rows, columns) {
	const rtn = new Array(rows);
    
    for (let i=0; i<rows; i++) {
    	rtn[i] = new Array(columns);
    }
    
    return rtn;
}

let rows = 3, columns = 3;
const array = matrix(rows, columns);

let num = 1;
for (let i=0; i<rows; i++) {
  for (let j=0; j<columns; j++) {
    array[i][j] = num++;
  }
}

console.log(array); // [ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ]
profile
Stay hungry. Stay foolish.

0개의 댓글