好吧,所以我们都知道在函数中使用...(rest)参数可以让我们传递任意数量的参数,如在Adobe AS3手册中的示例:Flash AS3 ...(rest)参数
function traceArgArray(x: int, ... args) {
for (var i:uint = 0; i < args.length; i++) {
trace(args[i]);
}
}
traceArgArray(1, 2, 3);
,但我会爱能够做的是有其中之一的选项传递参数的方式或从已经存在的数组传递参数:
myArray:Array = new Array(1,2,3);
等:
traceArgArray(myArray);
正如我在这里写的,该函数将myArray视为一个单独的对象,所以输出为1,2,3 - 表示整个数组,而不是数组的单个内容。
为了改造myarray的成其余运营商将承认作为个体元素的列表以逗号分隔的列表中,我尝试这样做:
traceArgArray(myArray.join());
但这并没有改变输出。看起来在这种情况下,参数被解释为单个字符串而不是逗号分隔的列表。
所以,我希望有人能帮助我,可以通过两种方式来表达这一难题:
是否有可能获得其余参数对待数组参数作为一个逗号分隔的参数列表?
- 或 -
有没有一种方法,我能够把一个数组转换成一个逗号分隔的列表,然后将该列表传递给用逗号分隔的列表(而不是一个长的字符串)的功能,以便休息操作员可以正确解释它吗?
我想要做的基本事情 - 能够将值的数组传递给接受任意数量参数的函数 - 似乎是通用的,所以也许有一种解决方法,我不是因为我迷恋其他运营商本身。
感谢您的阅读!
可能重复http://stackoverflow.com/questions/5260875/pass-arguments-from-an-array -to-an-actionscript-method-with-rest-argument) –
http://stackoverflow.com/questions/636853/filling-in-rest-parameters-with-an-array可能的副本 –
投票关闭为重复 –