ES6은 우리가 특정 값을 가진 Array
채울 수 있도록 객체의 새로운 인스턴스를 생성하지 않습니다새로운 배열 (_) (객체) 채우기가
function emptyRow() {
return new Array(9).fill(0);
}
이 기능은 길이 9의 Array
반환을 가득 단지 제로 :
>> emptyRow()
<< Array [ 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
지금 나는 그 빈 행의 구 가득되는 Array
을 생성합니다. 아홉 번 호출 그러나
function emptyMatrix() {
return new Array(9).fill(emptyRow());
}
, 대신
fill
, 한 번 전화를 보인다 에 의해 생성 된 객체에 대한 새로운
Array
구에 대한 참조를 채 웁니다. 물론, 하위 배열 중 하나에서 값을 변경하면 모든 하위 배열에 대해 동일한 인덱스에서 값이 변경됩니다.
각 항목에 대해 새 개체를 만드는 방법이 있습니까?
사용'[... 어레이 (9)]지도 (emptyRow)'당신'의 값으로 하나의 배열을 사용하고 –
. 채우기 '는 배열이 9 번 배열로 채우는 것을 의미하며, 배열은 객체이므로 값의 참조로 전달되므로 기본적으로 동일한 배열로 9 번 끝납니다. – adeneo
감사합니다. @Guedes, 그게 내가 필요한 것입니다. – GeckStar