0
다음 코드를 사용하여 주어진 요소를 둘러싼 2 차원 배열의 요소를 증가시킵니다.하나만 있어야 할 때 배열의 모든 요소가 동시에 증가됩니다.
EmptyCell = {number: 0}; //This has several parts in the actual code.
list = new Array();
function init(w,h){
for (var x = 0; x <= w; x++){
list[x] = new Array();
for (var y = 0 ; y <= h; y++){
list[x][y] = EmptyCell;
}
}
}
function map(func,x,y){
var xoff = [1,1,1,0,0,-1,-1,-1];
var yoff = [1,0,-1,1,-1,1,0,-1];
for (var atIndex = 0; atIndex < 8; atIndex++){
func(x+xoff[atIndex],y+yoff[atIndex]);
}
}
그리고는 나는이처럼 실행 때마다 list[x][y].number++
이 실행
init(10,10);
map(function(x,y){
if (list[x] != null && list[x][y] != null){
list[x][y].number++;
}
},0,0);
는 전체 배열의 모든 요소가
증가합니다. 누군가가 왜 이런 일이 발생했는지 설명 할 수 있습니까?