如何在double for循环中执行IF语句,检查数组中的对象是否等于selectedItem.label?这是我的尝试! (没有工作)
function klikkA(evt:Event):void{
for( var j:int = 0; j < 4; j++)
{
for (var k:int = 0; k < 8; k++)
{
if (listeA.selectedItem.label != myArray[j][k])
{
continue;
}
else if(listeA.selectedItem.label == myArray[j][k])
{
txtFlagg.text = myArray[j][k];
break;
}
}
}
}
答案 0 :(得分:0)
由于break
只能跳出单循环,因此您需要使用flag或goto。
我使用外部循环检查的标志,因为它通常更为公认的做法:
var found = false;
for( var j:int = 0; !found && j < 4; j++)
{
for (var k:int = 0; k < 8; k++)
{
.... if(listeA.selectedItem.label == myArray[j][k])
{ ....
found = true;
break;
}
}
}
答案 1 :(得分:0)
单独使用break语句 只会破坏内部循环。
As you can see in the documentation of break, you can specify a label
打破[标签]
它解释道:
在嵌套循环中,break仅跳过立即循环的其余部分,并且不会突破整个嵌套循环系列。要打破整个系列的嵌套循环,请使用标签
There's additional documentation on the label keyword
它提供了一个与你的相似的例子:
[mutableRequest setHTTPBody:[NSJSONSerialization dataWithJSONObject:parameters options:self.writingOptions error:error]];
}