2010-08-16 5 views
0

Flex 3에서 배열을 만들 때 함수를 호출 할 수 있습니까?배열을 만들 때 함수를 호출 할 수 있습니까?

public function gridBuilder(myArray:Array):void { 
      var i:uint; 
      for (i=0; i<myArray.length; i++){ 

      dGArray = [ 
       {Name: myArray[i].name, Type: 'A:', Score: myArray[i].score, Rank: myArray[i].rank, Grade:(myFunction(myArray[i].rank, myArray[i].max_rank))}, 
       {Name: myArray[i].name, Type: 'B:', Score: myArray[i].score, Rank: myArray[i].rank } 
            ] 

        } 

         dgAC = new ArrayCollection(dGArray); 

       } 

MyArray는 데이터베이스에 대한 원격 호출의 결과입니다. 그런 다음 배열을 dataGrid에 사용할 준비를합니다. 나는 또한 학년을 제공하는 함수를 호출하고 싶다. 불행히도 내 기능은 한 번만 호출되는 것 같습니다. 배열을 만들 때 함수를 호출 할 수 있습니까? "등급 :"비트를 참조하십시오. 뭐가 문제 야? 이 문제를 어떻게 해결합니까?

감사합니다.

-Laxmidi

답변

0

귀하는 귀하의 기능이 한 번만 호출되었다고 말씀하셨습니다. 그러나 코드에서 명시 적으로 한 번만 호출합니다. 문제가 발생하는 데 문제가 있습니다. ActionScript에서는 객체의 배열을 만들 수 있습니다. 속성 값은 함수의 반환 값에서 나올 수 있습니다.

편집이 작업을 수행하는 코드를 변경 :

public function gridBuilder(myArray:Array):void { 
    var i:uint; 
    var dGArray:Array = []; 

    for (i=0; i<myArray.length; i++) { 
     dgArray.push({Name: myArray[i].name, 
         Type: 'A:', 
         Score: myArray[i].score, 
         Rank: myArray[i].rank, 
         Grade:myFunction(myArray[i].rank,myArray[i].max_rank)}); 
     dgArray.push({Name: myArray[i].name, 
         Type: 'B:', 
         Score: myArray[i].score, 
         Rank: myArray[i].rank}); 
    } 
    dgAC = new ArrayCollection(dGArray); 
} 

원래 코드의 문제는 각 반복에 dGArray를 재설정 유지이었다.

+0

안녕하세요 clownbaby, 메시지 감사합니다! 나는 아직도 내가 어리 석다는 것을 알아 내려고 노력하고있다. myFunction 함수는 반환 값을 사용합니다. myArray 배열에는 3 개의 이름이 있습니다. 내 목표는 myFunction을 각 번 i 번씩 세 번 호출하도록하는 것이 었습니다. myFunction이 두 번 이상 호출되지 않는 이유는 무엇입니까? 함수에서 반환 된 값의 배열을 만드는 것이 가능하다는 것을 확인해 주셔서 감사합니다. 다시 한 번 감사드립니다. – Laxmidi

+0

고마워, clownbaby. 그 문제가 나를 괴롭혔다. 이제 내가 잘못하고있는 것을 이해합니다. 고맙습니다! – Laxmidi

관련 문제