我希望能够检查数组中的空条目,如果它们是空条目,则打印一条消息。
然后,如果没有,我想继续该计划。
我真的看不出我做错了什么。
var mainArray:Array = new Array (6);
function addNumbers(event:MouseEvent):void
{
userNumber1.selectable = false;
userNumber1.type = TextFieldType.DYNAMIC;
userNumber2.selectable = false;
userNumber2.type = TextFieldType.DYNAMIC;
userNumber3.selectable = false;
userNumber3.type = TextFieldType.DYNAMIC;
userNumber4.selectable = false;
userNumber4.type = TextFieldType.DYNAMIC;
userNumber5.selectable = false;
userNumber5.type = TextFieldType.DYNAMIC;
userNumber6.selectable = false;
userNumber6.type = TextFieldType.DYNAMIC;
mainArray[0] = Number(userNumber1.text);
mainArray[1] = Number(userNumber2.text);
mainArray[2] = Number(userNumber3.text);
mainArray[3] = Number(userNumber4.text);
mainArray[4] = Number(userNumber5.text);
mainArray[5] = Number(userNumber6.text);
noNull();
}
function noNull()
{
var e;
var noNulls:Boolean = new Boolean();
noNulls = false;
for (e = 0; e < 6; e++)
{
if (mainArray[e] == null)
{
genericText.text = "Make sure all boxes are filled!";
}
else
{
noNulls = true;
}
}
if (noNulls == true)
{
duplicateCheck();
}
}
答案 0 :(得分:2)
noNulls = true;
for (e = 0; e < 6; e++)
{
if (mainArray[e] == 0)
{
genericText.text = "Make sure all boxes are filled!";
noNulls = false;
break;
}
}
答案 1 :(得分:1)
如果我们不在TextField中输入任何值,那么“text”属性将为空字符串,而不是NULL。
答案 2 :(得分:1)
可能是因为将空字符串(如果文本字段为空)转换为数字给出“0”并将数字“0”组合成null给出false:
var arr:Array = [];
arr[0] = Number("");
trace(arr[0] == null); //false
如果键入变量,则无法将Number与null进行比较:
var x:Number = Number("");
trace(x == null); //gives a compile error
回答你的评论;您应该在设置警告文本后暂停:
genericText.text = "Make sure all boxes are filled!";
break;
否则,如果正确填充了下一个文本字段,它将再次覆盖noNulls值并返回false。此外,无论如何都不需要检查其余的字段,因为一个字段已经无效。