gpt4 book ai didi

apache-flex - Flex 如何调用具有可变数量参数的函数?

转载 作者:行者123 更新时间:2023-12-04 17:05:07 27 4
gpt4 key购买 nike

假设我有这门课:

package{
import flash.display.Sprite;
public class Main extends Sprite{
public function Main(){
trace(getAverage(1,2,3));
trace(getAverage(1,2,3,4));
trace(getAverage(1,2,3,4,5));
}
public function getAverage (...numbers) {
var total = 0;
for (var i = 0; i < numbers.length; i++) {
total += numbers [i];
}
return total / numbers.length;
}
}
}

我如何完成这个的“相反”?即,我现在如何使用动态数量的参数调用“getAverage”?

例如,如果我想做某事 喜欢 :
var r:int=Math.random()*6;
var a:Array=new Array();
for (i:int=0;i<r;i++) {
a[i]=Math.random()*22;
}
// Now I have 'r' Number Of Parameters Stored In 'a'
// How Do I Call getAverage, with all the values in 'a'??
// getAverage(a) isn't right, is it?
// I'm looking for something similar to getAverage(a[0],a[1],a[...]);

var av:Number=getAverage(???);

我想知道的是,如果我有一个接受可变数量参数的函数,那很好,但是如果在运行时不知道该数量,我怎么能用可变数量的参数调用它呢?可能这是不可能的......我只是不确定,因为'callLater'似乎能够以某种方式获取一个数组并从中生成动态数量的参数......

注意:仅由“您为什么要这样做?”组成的答案将被否决。

附言此 不是关于计算平均值! 我意识到有更简单的方法可以做到这一切! (我可以编写 getAverage 来接受单个数组作为其唯一参数) 以上只是说明我的问题的示例。如何将动态数量的参数传递给函数?

最佳答案

这是你要找的吗?

var av:Number = getAverage.apply(null, a);

关于apache-flex - Flex 如何调用具有可变数量参数的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3852787/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com