자바스크립트는 2차원 배열을 선언할수 없습니다.
배열안에 배열을 생성하는 방법으로 비슷하게 할수있습니다.
let arr=[][]; //error
let arrs = [];
for(let i=0; i<3; i++){
arrs.push(new Array(1,1,1));
}
// [
[1,1,1],
[1,1,1],
[1,1,1]
]
잘못된 예시
let arr = [1,1,1];
let arrs = [];
for(let i=0; i<3; i++){
arrs.push(arr);
}
처음엔 이렇게 짰었는데 문제는 arr이 배열 즉 타입이 참조형이기때문에 만약 arrs[0][1] = 0;으로 할당한다면 1번째 자리는 모두 0이 되는 문제가 발생합니다.
이것때문에 잠이 오질 안았었는데 알게되서 속이 엄청 후련했습니다.
'JavaScript' 카테고리의 다른 글
이스케이프 처리된 URI 디코딩하기 decodeURI() (0) | 2023.05.29 |
---|---|
[JS]Callback, Promise, async/await (0) | 2023.03.28 |
[JS]얕은 복사(shallow copy) 깊은 복사(deep copy) (0) | 2023.03.27 |
자바스크립트 onKeyPress 더이상 지원하지않음 (0) | 2023.02.07 |
자바스크립트 객체 메소드 (0) | 2022.10.04 |