使用其名称作为字符串调用函数并将参数替换为数组

calling function using its name as a string and using replacing parameters with an array

这是我的例子,可以更好地理解我的问题。让我们说:

var a = ["Hello", "World"];
var b = "Hi";

我该怎么做:

console.log(b."concat"(a)); // and return HiHelloWorld

我试过这样做:

console.log(b.eval("concat").apply(this, a));

但它给了我一个错误,说 b.eval 不是一个函数。 请注意,我的主要目标不是连接字符串。这只是一个例子。我希望能够使用任何函数来执行此操作...

谢谢

您可以将 [] 语法与扩展运算符 ... 一起使用。

var a = ["Hello", "World"];
var b = "Hi";

console.log(b["concat"](...a));