将可变长度数组传递给Node JS函数

3
有没有一种方法可以使用可变长度调用插件函数。我将用户输入保存到一个类似于以下的变量中:
Uinput = [5,3,2]; 

现在我想根据这些数字调用我的插件,所以应该是:
addon.myaddon(5,3,2);

我也希望将此扩展到n个输入,因此如果我的用户输入变量变得...
Uinput = [5,3,2,6,...,n];

那么这个插件将会被这样调用:
addon.myaddon(5,3,2,6,...,n);

addon.myaddon(Uinput) // will not seperate the inputs by commas are they are in the array variable, it treats the whole array as the input

这似乎很简单,但是我有点困扰。有什么提示吗?

可能是调用带有多个参数的函数的重复问题。 - Felix Kling
1个回答

3
看一下函数原型.apply。该方法允许您将一个函数应用于传递的参数数组。
Uinput = [5,3,2,...,7]; // the last number in the array is in position 'n'
addon.myaddon.apply(null, Uinput);

这相当于调用以下方法:
addon.myaddon(Uinput[0], Uinput[1], Uinput[2], ... , Uinput[n]);

使用Math.max的一个实际例子:

// Basic example
Math.max(1,6,3,8,4,7,3); // returns 8

// Example with any amount of arguments in an array
var mySet = [1,6,3,8,4,7,3];
Math.max.apply(null, mySet); // returns 8

1
谢谢!我会尽快接受。我知道我缺少了一些简单的东西。 - user2512053

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接