
프로그래머스 문제를 풀면서 알게된 이차원 배열과 이중 for문에 대한 정리.
for(let i=2; i<=9; i++){
for(let k=1; k<=9; k++){ // i=2일때 k for문이 전부 실행되고 난 후에 i for문으로 돌아가 다시 실행된다.
let sum = i * k;
document.write(i + '*' + k + '=' + 'sum') // 2*1=2, 2*2=4, 2*3=6...
}
}
자바스크립트에서는 다른 언어와 다르게 이차원 배열이라는 개념이 없고 const arr = [ ][ ]같은 방식으로 선언해서 사용할 수 없기 때문에 다음과 같은 방식으로 사용한다.
const arr = [[1,2], [2,3], [3,4]]
const rows = 5;
const cols = 5;
const arr = Array.from({ length: rows }, () => Array(cols).fill(0));
console.log(arr);
-----------------------------------------------------------------
const arr = new Array(5).fill(0).map(() => new Array(5).fill(0));
console.log(arr);
// 둘의 결과값
[
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]
]
let arr = []
for(let i=0; i<5; i++){
const a = [];
for(let k=0; k<5; k++){
a.push(0);
}
arr.push(a);
}
console.log(arr);
//결과값
[
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0]
]
arr[2][2] 같이 간단하게 접근할 수 있다.