我的问题是这个问题的 Flex 换位:
我可以将数组作为参数传递给 Java 中具有可变参数的方法吗?
也就是说,我在一些 Actionscript 代码中有一个数组,我需要将数组中索引的每个对象传递到一个方法中method(...arguments)
.
一些代码可以清楚地说明:
private function mainMethod():void{
var myArray:Array = new Array("1", "2", "3");
// Call calledMethod and give it "1", "2" and "3" as arguments
}
private function calledMethod(...arguments):void{
for each (argument:Object in arguments)
trace(argument);
}
有什么方法可以按照评论的建议进行操作吗?
通过遍历 Function 对象本身就可以实现这一点。调用 apply() 就可以了:
private function mainMethod():void
{
var myArray:Array = new Array("1", "2", "3");
// call calledMethod() and pass each object in myArray individually
// and not as an array
calledMethod.apply( this, myArray );
}
private function calledMethod( ... args ):void
{
trace( args.length ); // traces 3
}
欲了解更多信息,请查看http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/Function.html#apply()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)