我有一些接受几个参数的函数。
public function somefunc(param1:String, param2:String, param3:String):void{
}
有没有办法循环遍历所有参数(不知道多少或它们的名称)并将它们放入某种带有名称的数组中,所以我会得到一个关联数组
[
param1: "value 1"
param2: "value 2"
param3: "value 3"
]
答案 0 :(得分:4)
对象arguments存储函数的参数,您可以使用length
属性来获取参数的数量。但是它没有提供参数的名称,即它不会提供名称param1, param2
等。它只会提供它们的值。
答案 1 :(得分:2)
您可以在函数参数列表中使用rest参数(...
)来接受任意数量的参数并循环遍历它们,如下所示:
public function somefunc(param1:String, param2:String, param3:String, ... rest):void {
for (var i:int = 0; i < rest.length; i++) {
trace(rest[i]);
}
}
调用你的函数看起来像这样:
somefunc(param1, param2, param3, param4, param5, ect);