2013-03-13 4 views
0

다른 배열 내에서 배열을 어떻게 접합 할 수 있습니까?배열 내의 스플 라이스 배열

저는 수업 시간에 아이들을위한 게임을 만들려고합니다. 퀴즈 역사 질문 창조자의 어떤 종류. allEnglandArray 내에서 하위 배열 (Hard-England 및 Medium-England)을 없애기 위해 MasterArray를 어떻게 연결해야합니까? "MasterArray.splice()"는 allEngland 배열 또는 allFrance 배열에만 영향을주는 것처럼 보입니다. 하지만 ... 그 하위 배열을 제거 할 필요가

내 코드 :

var Easy-England:Array = ["item1","item2","item3","item4","item5"]; 
var Medium-England:Array = ["item6","item7","item8"]; 
var Hard-England:Array = ["item9","item10"]; 
var allEngland:Array = [Easy-England,Medium-England,Hard-England]; 

var Easy-France:Array = ["item11","item12","item13","item14","item15"]; 
var Medium-France:Array = ["item16","item17","item18"]; 
var Hard-France:Array = ["item19","item20"]; 
var allFrance:Array = [Easy-France,Medium-France,Hard-France]; 


// the list of countries goes on and on and on... (Italy, Hungary, etc.) 


var allStuff:Array = [allEngland, allFrance, etc.]; 
var MasterArray:Array; 

// FUNCTIONS 

// clear MasterArray - first I clear out completely the MasterArray 

function clearMasterArray():void 
{ 
    MasterArray.splice(0); 
} 

// update MasterArray - than I fill the MasterArray with data according to checkBoxes 

function updateMasterArray():void 
{ 
    for (var i:int = 0; i<checkBoxBlock.myCheckBoxes.length; i++) 
    { 
     if (checkBoxBlock.myCheckBoxes[i].selected) 
     { 
      MasterArray.push(allStuff[i]); 
     } 
    } 
}  


// splice MasterArray - last thing I do is splice the items according to student's proficiency level, referred to as "studentPL". 

function spliceMasterArray():void 
{ 
    if (studentPL == 1) 
    { 
     for (var i:int = 0; i<allStuff.length; i++) 
     { 
      allStuff[i].splice(5,5); 
     } 

    } 

    if (studentPL == 2) 
    { 
     for (var i:int = 0; i<allStuff.length; i++) 
     { 
      allStuff[i].splice(8,2); 
     } 

    } 

    if (studentPL == 3) 
    { 
     for (var i:int = 0; i<allStuff.length; i++) 
     { 
      trace("no need to splice"); 
     } 
    } 
} 

그리고이 후에 내가이 순서에서 다른 함수에서 그 함수를 호출

...

function creatorFunction():void 
{ 
    clearMasterArray(); 
    updateMasterArray(); 
    spliceMasterArray(); 
} 

답변

0

대신에 :

var allEngland:Array = [Easy-England,Medium-England,Hard-England]; 

하면이 시도 :

var allEngland:Array = Easy-England.concat(Medium-England, Hard-England); 

이렇게하면 '플랫'배열 (하위 배열 없음)을 갖게되므로 다루기가 더 쉽습니다.

+0

감사합니다. 주말에 시도해 보겠습니다. –