gpt4 book ai didi

javascript调用具有可变长度的console.log函数

转载 作者:行者123 更新时间:2023-12-01 13:11:58 24 4
gpt4 key购买 nike

我想调用带有可变长度参数的 console.log 函数

function debug_anything() {
var x = arguments;
var p = 'DEBUG from ' + (new Error).stack.split("\n")[2];
switch(x.length) {
case 0: console.log(p); break;
case 1: console.log(p,x[0]); break;
case 2: console.log(p,x[0],x[1]); break;
case 3: console.log(p,x[0],x[1],x[2]); break;
case 4: console.log(p,x[0],x[1],x[2],x[3]); break;
// so on..
}
}

有没有其他(更短的)方式,请注意,我不想要这个解决方案(因为来自 x 对象(参数或数组)的其他方法将被输出。

console.log(p,x);

最佳答案

是的,你可以使用apply

console.log.apply(console, /* your array here */);

完整代码:

function debug_anything() {
// convert arguments to array
var x = Array.prototype.slice.call(arguments, 0);

var p = 'DEBUG from ' + (new Error).stack.split("\n")[2];

// Add p to the beggin of x
x.unshift(p);
// do the apply magic again
console.log.apply(console, x);
}

关于javascript调用具有可变长度的console.log函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14169390/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com