2010-07-15 6 views
-2
var firstarray:Array = new Array(); 


function traceArray(arr:Array){  
    for(var i:int = 0; i < arr.length; ++i) { 
     trace(firstarray[i].matrix);  
    } 
} 



for (var i:int = 0; i < 10; ++i) { 
    firstarray.push({ matrix:[1,0,0,1], prod:i}); 
} 

var secondarray:Array = new Array(); 
secondarray = firstarray; 
secondarray.push({ matrix:"hello" }); 

traceArray(firstarray); 

은 추적 결과가 있어야한다AS3 배열 질문

1,0,0,1 1,0,0,1 1,0,0,1 1,0,0,1
1,0,0,1 1,0,0,1 1,0,0,1 1,0,0,1
1,0,0,1 1,0,0,1 안녕하십니까

또는

1,0,0,1 1,0,0,1 1,0,0, 1 1,0,0,1
1,0,0,1 1,0,0,1 1,0,0,1 1,0,0,1
1,0,0,1 1,0 ,

답변

6

0.1가 출력 : 만약 firstArray와 같은 배열 secondArray를 기준으로 설정되어 있기 때문에

1,0,0,1 
1,0,0,1 
1,0,0,1 
1,0,0,1 
1,0,0,1 
1,0,0,1 
1,0,0,1 
1,0,0,1 
1,0,0,1 
1,0,0,1 
hello 

이있다. 당신이 secondArray를 사용 CONCAT()에 firstArray와의 내용을 복사하려면

: 당신은 배열의 배열을 사용하고 있기 때문에

secondarray = firstarray.concat(); 

사실, 당신은 루프의 각 요소가있을 수 있습니다 및 CONCAT는 내용을 복사 각 매트릭스 항목의 (편집 해 죄송하지만 기억이났습니다.))