Call a user function which is the first parameter with the arguments contained in array
Example 1
Running
1.call_user_func_array('isNaN', ['a']);
Could return
1.true
Example 2
Running
1.call_user_func_array('isNaN', [1]);
Could return
1.f
function call_user_func_array(cb, parameters) {
// Call a user function which is the first parameter with the arguments contained in array
//
// version: 812.3015
// discuss at: http://phpjs.org/functions/call_user_func_array
// + original by: Thiago Mata (http://thiagomata.blog.com)
// + revised by: Jon Hohle
// + improved by: Brett Zamir
// * example 1: call_user_func_array('isNaN', ['a']);
// * returns 1: true
// * example 2: call_user_func_array('isNaN', [1]);
// * returns 2: false
var func;
if (typeof cb == 'string') {
if (typeof this[cb] == 'function') {
func = this[cb];
} else {
func = (new Function(null, 'return ' + cb))();
}
} else if (cb instanceof Array) {
func = eval(cb[0]+"['"+cb[1]+"']");
}
if (typeof func != 'function') {
throw new Exception(func + ' is not a valid function');
}
return func.apply(null, parameters);
}