2013-03-06 2 views
0

다음 코드에서 배열 arr1의 데이터를 변수 t의 문자열 값과 연결합니다.배열 연결에서 문자열이 작동하지 않는 값

var t:String; 
var arr4:Array = new Array(); 
for(w;w<i;w++){ 
    if(max==arr3[w]){ 
    t=t.concat(",",arr1[w]) 
    } 
} 
trace(t); 

그러나 나는이 오류를 얻을 :

TypeError: Error #1009: Cannot access a property or method of a null object reference.
at final1_fla::MainTimeline/modebtn()

이 사람이 나를 도울 수 있습니까?

+0

StackOverflow는 [Rubber Duck Debugging] (http://en.wikipedia.org/wiki/Rubber_duck_debugging)의 최신 버전입니까? – strah

답변

2

그 코드는 전혀 이해가되지 않습니다. arr4는 초기화되었지만 결코 사용되지 않았습니다. 대신 arr3과 arr1이 사용되고 초기화되지 않아 null 객체 참조 오류가 발생합니다.

루프에 w이 사용되고 초기화되지 않았으며 여기에 표시되지 않은 i과 비교됩니다.

어레이가 유효한지 확인하고 해당 for 루프가 예상대로 작동하는지 확인하십시오.

+0

죄송합니다. arr3, arr1, w, i는 원래 코딩에서 맨 처음에 초기화되었습니다. 하지만이 연결 부분 만 붙여 넣을뿐입니다. 이 연결 코드는 OK입니까 – user2120268

+0

arr3과 arr1이 유효한 배열이고 w가 범위를 벗어나지 않으면 'null 객체 참조의 속성이나 메소드에 액세스 할 수 없습니다.'는 것은 초기화되지 않았지만 액세스 중임을 나타냅니다. . 디버그하고'w'의 값과 배열에 무엇이 액세스하고 있는지 봅니다. –

+0

나는 trace (arr1 [w]);를 사용한다. 그 곳에서 나는 내 결과를 얻었다. 이 출력물을 한 번에 받아보고 싶습니다. if (max == arr3 [w]) { trace (arr1 [w]); } – user2120268

관련 문제