Search code examples
arraysactionscript-3compareflash-cs6

compare two arrays in as3


I have two arrays. Array one has predefined elements. Array two collect elements at run-time.I need to get true or false after comparing these two arrays.Also these two arrays can be..

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

Solution

  • Use 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;
    }