在数组2D [AS3]中搜索

时间:2012-02-25 23:49:11

标签: arrays actionscript-3

阵列respuesta的内容是:Africa,Europa,Norteamerica。数组resultado的内容是:不正确,正确,不正确

我创建了一个Array来包含它们:

var contPre:Array = [ this.respuesta, this.resultado ];

然后:

for ( var row:int = 0; row & lt; contPre.length; row++ )    
{
     for ( var column:int = 0; column & lt; contPre[row].length ; column++ )
     {
            // If I want to find the value:Africa Incorrect
            // without entering this code:  contPre[0][1]  

     }

}

出了点问题,或者我不知道为什么会这样。我做了改变:

for (var a:uint = 0; a & lt; contPre[0].length; a++)
{

    if (this.radioGroup1.selection.value == contPre[0][a] && contPre[1][a] == "Correcto") 
    {
        result_txt.text = "Correct";
        valor = 1;

    }
    else    
    {
        result_txt.text = "Incorrect";
        valor = 0;

    }

}

如果我选择Europa[0][1])...上面的代码会出现“不正确”选项而且此结果不正确,因为Array是“正确”。< / p>

2 个答案:

答案 0 :(得分:0)

[0][0] is Africa
[0][1] is Europe
[0][2] is NorteAmerica
[1][0] is Incorrect
[1][1] is Correct
[1][2] is Incorrect

在你的情况下,我会设置一个布尔型FoundAfrica或w / e并将其设置为false。如果一个元素是非洲,请检查下一行中的同一列并查看它是否不正确

如果将布尔值设置为true。

答案 1 :(得分:0)

实际上,您只需要迭代一次数组以检索所有值:

for ( var continent:int = 0; continent < contPre[0].length; continent++ ) {
     trace(contPre[0][continent] + " = " + contPre[1][continent]);  //Outputs: Continent = Answer
}