var check=new Array(m);
for(var j=0;j<m;j++){
check[j]=new Array(n).fill(0);
}
하지만 fill을 이용하여 new Array에 배열을 넣어도 되지 않을 까?
var arr=new Array(n).fill(0);
var check=new Array(m).fill(arr);
위 코드와 아래코드는 사실 같은 목적으로 짜여진 코드다. 둘다 컴파일에 아무런 문제가 없다.
하지만 여기서 문제는 fill을 이용하여 만든 2차원 배열은 배열 요소의 접근이 불가능하다. 이는 fill의 인자에는 object가 아닌 value 요소가 들어가야 하기 때문에 arr가 들어가도 value로써의 기능만 수행하기 때문이다.
push, splice 메소드를 활용하면 new Array에 배열 객체를 넣는 것이 가능
var arr=new Array(n).fill(0);
for(var j=0;j<m;j++){
check.push(arr);
}