Как я могу вызвать функцию varargs с массивом в ActionScript? - PullRequest
5 голосов
/ 11 августа 2009

Мне нужно вызвать функцию varargs:

function doSomething(... args): Object {
    // do something with each arg
}

Однако я строю аргументы для этого динамически:

var someArgs: Array = ['a', 'b', 'c'];
doSomething(someArgs);

Проблема в том, что когда я вызываю функцию таким образом, args оказывается массивом из 1 элемента с someArgs в качестве первого элемента, а не массивом из трех элементов.

Как я могу вызвать doSomething с someArgs в качестве массива аргументов?

(Для поисковых систем это распаковка аргументов)

1 Ответ

9 голосов
/ 11 августа 2009

Использовать Function.apply.

Как это:

doSomething.apply(null, someArgs);

Если doSomething является методом класса, передайте класс вместо null.

...