Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash Array.Split()和方括号[],摘自《高级Actionscript动画手册》_Flash_Actionscript 3_Arrays_Split - Fatal编程技术网

Flash Array.Split()和方括号[],摘自《高级Actionscript动画手册》

Flash Array.Split()和方括号[],摘自《高级Actionscript动画手册》,flash,actionscript-3,arrays,split,Flash,Actionscript 3,Arrays,Split,我试图理解Keith Peter的高级动作脚本中的这段代码是如何工作的。本质上,存在一个for循环,用于拆分由以下内容分隔的键/值对:。代码如下: var definition:Object = new Object(); for(var i = 0;i < tokens.length; i++) { var key:String = tokens[i].split(":")[0]; var val:String = tokens[i].split(":")[1];

我试图理解Keith Peter的高级动作脚本中的这段代码是如何工作的。本质上,存在一个for循环,用于拆分由以下内容分隔的键/值对:。代码如下:

var definition:Object = new Object();
for(var i = 0;i < tokens.length; i++)  
{
    var key:String = tokens[i].split(":")[0];
    var val:String = tokens[i].split(":")[1];
    definition[key] = val;
}

我不明白的是,“[0]”和“[1]”的含义是什么。[1]如何表示字符串val将保存“:”拆分后的数据(值,如“GraphicTile”或“MapTest_Tile01”),以及[0]指向拆分前的数据(键,如“type”或“graphicClass”)。Adobe的Actionscript引用没有列出可以传递给Array.split方法的任何参数,使用方括号如下。

split()方法返回通过拆分字符串创建的标记数组。然后使用[0]和[1]对该数组进行索引,以获取第一个和第二个成员。它与用于访问令牌数组第i个成员的令牌[i]完全相同。

split()方法返回通过拆分字符串创建的令牌数组。然后使用[0]和[1]对该数组进行索引,以获取第一个和第二个成员。这与用来访问令牌数组第i个成员的令牌[i]完全相同。

尼克给出了正确答案

正如Cookieoffort含蓄地指出的,代码并不是很好

var definition:Object = new Object();
for(var i = 0;i < tokens.length; i++)  
{
    var parts:Array = tokens[i].split(":");
    var key:String = parts[0];
    var val:String = parts[1];
    definition[key] = val;
}
var定义:Object=newobject();
for(var i=0;i
这样可以避免将字符串拆分两次。。。也可能会让事情变得更清楚

格里茨


back2dos

尼克给出了正确的答案

正如Cookieoffort含蓄地指出的,代码并不是很好

var definition:Object = new Object();
for(var i = 0;i < tokens.length; i++)  
{
    var parts:Array = tokens[i].split(":");
    var key:String = parts[0];
    var val:String = parts[1];
    definition[key] = val;
}
var定义:Object=newobject();
for(var i=0;i
这样可以避免将字符串拆分两次。。。也可能会让事情变得更清楚

格里茨


back2dos

有人知道split是否缓存了吗?看起来它会生成两次相同的数组,只是为了索引它们……我怀疑它是否被缓存或类似的东西,但它似乎是一本书中的示例代码,在这种情况下,为了清晰起见,它可能会被拆分两次。有人知道拆分是否被缓存吗?看起来它会生成两次相同的数组,只是为了索引它们……我怀疑它是缓存的还是类似的,但它似乎是一本书中的示例代码,在这种情况下,为了清晰起见,它可能会被拆分两次。谢谢!我想我是看错了。。我认为方括号中传递的参数是传递给split方法的,而不是用来访问返回的数组中的值。热爱这里的社区,你们帮了大忙!谢谢我想我是看错了。。我认为方括号中传递的参数是传递给split方法的,而不是用来访问返回的数组中的值。热爱这里的社区,你们帮了大忙!