Converting an array to a function arguments list
You might want to take a look at a similar question posted on Stack Overflow. It uses the .apply()
method to accomplish this.
Yes. In current versions of JS you can use:
app[func]( ...args );
Users of ES5 and older will need to use the .apply()
method:
app[func].apply( this, args );
Read up on these methods at MDN:
- .apply()
- spread "..." operator (not to be confused with the related rest "..." parameters operator: it's good to read up on both!)
A very readable example from another post on similar topic:
var args = [ 'p0', 'p1', 'p2' ];
function call_me (param0, param1, param2 ) {
// ...
}
// Calling the function using the array with apply()
call_me.apply(this, args);
And here a link to the original post that I personally liked for its readability
app[func].apply(this, args);