2016-04-27 4 views
0

私は2つの配列を持っています。配列1にはあらかじめ定義された要素があります。実行time.Iでアレイ2つのコレクトの要素が..することができ、これらの二つのアレイarrays.Alsoこれら二つを比較した後、真または偽取得する必要がありますas3の2つの配列を比較する

var ArrayOne:Array = new Array("b1","b2","b3","b4"); 
var ArrayTwo:Array = ["b1","b2","b3","b4"]; 
//output must be true 

var ArrayOne:Array = new Array("b1","b2","b3","b4"); 
var ArrayTwo:Array = ["b2","b1","b4","b3"]; 
//output must be true 

var ArrayOne:Array = new Array("b1","b2","b3","b4"); 
var ArrayTwo:Array = ["b1","b2","b3","b4","b1","b2"]; 
//output must be true 

var ArrayOne:Array = new Array("b1","b2","b3","b4"); 
var ArrayTwo:Array = ["b1","b2","b3","b4","b5"]; 
//output must be false 

答えて

1

使用Array.indexOf(value)

function compareArrays(ArrayOne: Array, ArrayTwo: Array): Boolean{ 

    var ret:Boolean = true; 

    for (var i:int=0; i<ArrayTwo.length; i++){ 
     var ind: int = ArrayOne.indexOf(ArrayTwo[i]); 
     if (ind == -1){ 
      ret = false; 
      break; 
     } 
    } 

    return ret; 
} 
0

ザッツ行うのは簡単、私はこの機能が

を動作するはずだと思います以上のようなアウトラインではないとしても、コードバカ、そのわずかな機能、ザッツ
//first create a copy of array 1 
var temp:Array = ArrayOne.splice(); 

for(i:int = 0; i< temp.length; i++) 
    { 
     for(j:int = 0; j< arraytwo.length; j++) 
     { 
      if(temp[i]==arraytwo[j]) 
       { 
       //remove the value from array 
       temp.splice(thatvalue) 
       } 
     } 
    } 

if(temp.length>0) 
     trace("false") 
else 
     trace("true") 
+0

! – Jeffin