jedierikb
jedierikb

Reputation: 13109

filling in (...rest) parameters with an array?

Some as3 functions handle overloading by allowing for an arbitrary number of parameters using the convention:

public function doSomething( ... rest ):void;

I am in a situation where I need to pass all the values of an array (of arbitrary length) into this type of function... I am not sure how to do this. Suggestions?

Here is a hack solution, but it is not extensible:

switch (args.length) {
case 0: doSomething(); break;
case 1: doSomething(args[0]); break;
case 2: doSomething(args[0], args[1]); break;}

Upvotes: 9

Views: 2210

Answers (2)

LE GALL Benoît
LE GALL Benoît

Reputation: 7618

Here is a very good tip to pass the rest parameter between functions.

Upvotes: 1

Chetan S
Chetan S

Reputation: 23823

Check out Function#Apply(). It lets you pass the parameters as an array.

doSomething.apply(contextObj, args);

Upvotes: 14

Related Questions