AS3 - 如果没有元素,数组的长度是多少?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AS3 - 如果没有元素,数组的长度是多少?相关的知识,希望对你有一定的参考价值。
我有一个数组连接到一个名为myTextbox
的输入文本框。我们称之为数组myArray
。代码看起来像这样:
var myArray:Array = myTextbox.text.split("|");
后来,我必须得到myArray
的长度。如果myTextbox
是空的,那么myArray
的长度是多少?
我正在跟踪长度,但是当它为空时它表示1,而当它有一个元素时它表示1。我认为这是一个错误。有人可以回答我的问题吗?
答案
“如果
myTextbox
是空的,myArray
的长度是多少?”
检查String的split
选项下的文档:
“如果delimiter参数未定义... 整个字符串放在返回数组的第一个元素(
[0]
)中。“
返回整个字符串真好。你的困惑在于处理空字符串的返回。数组的长度为1,因为有些东西被返回并放在那里,但如果你检查你认为你什么也没找到,因为它是一个像""
这样的空字符串......
测试1 :(包含内容的字符串)
myTextbox.text = "hello world";
var myArray:Array = myTextbox.text.split("|");
trace("myArray length : " + myArray.length);
trace("myArray [0] : " + myArray[0] );
trace("myArray [0] as Int : " + int(myArray[0]) );
这使得"hello world"
成为第一个元素(在[0]
),因为字符串中没有"|"
作为分隔符...
myArray len : 1
myArray [0] : hello world
myArray [0] as Int : 0
测试2 :(空字符串)
myTextbox.text = "";
var myArray:Array = myTextbox.text.split("|");
trace("myArray length : " + myArray.length);
trace("myArray [0] : " + myArray[0] );
trace("myArray [0] as Int : " + int(myArray[0]) );
这给了空""
作为第一个元素(在[0]
),因为字符串中没有"|"
作为分隔符,整个空(零长度)字符串现在位于[0]
...
myArray length : 1
myArray [0] :
myArray [0] as Int : 0
以上是关于AS3 - 如果没有元素,数组的长度是多少?的主要内容,如果未能解决你的问题,请参考以下文章