将数组的元素作为参数列表传递给函数(而不是组合字符串)

时间:2014-04-22 05:31:59

标签: javascript arrays function arguments

我有一个自定义的(控制台。)日志功能

function clog(toConsole, toFile){
    console.log(toConsole);
    // other things
}

但现在我无法以'value: %d', value格式

传递字符串

...除非我将它包装在一个数组中

clog(['to console: %d', value], 'other things'])

有没有办法将数组['to console: %d', value]的元素传递给类似的函数:console.log('to console: %d', value)

1 个答案:

答案 0 :(得分:1)

您要找的是Function.prototype.apply。 它允许您使用数组调用函数,该数组作为参数填充。 在这种情况下

console.log.apply(console, ['to console: %d', value]);

将等同于

console.log('to console: %d', value);