javascript - 如何将数组值单独传递给函数?

标签 javascript arrays

<分区>

我希望能够使用 HashIDs在我的项目中。 使用 HashID,您可以从一个或 n 个整数创建哈希 ID,如下所示:

encrypt(1);
encrypt(1,2,3,4);
encrypt(1,2,...n);

这对一个变量已经很好用了,但不幸的是,我有时会收到一串我希望编码的逗号分隔数字。所以它将是“1,2,3,4,5”。

当然,我可以轻松地将其转换为数组,但数组无济于事,因为我仍然需要单独传递贵重元素以进行加密。因为我不知道字符串中有多少个整数,所以我不知道如何实现它。

巧合的是,PHP has a way for dealing with that exact same problem .

我如何在 JavaScript 中实现这一点?

最佳答案

您可以拆分成一个数组并将值转换为整数,然后使用 Function.prototype.apply method调用您的 encrypt() 将数组值作为参数传递。

这是一个解决方案:

var myArgs = "1,2,3,4,5"; // etc.

myArgs = myArgs.split(",").map(function(i) {return parseInt(i);});
encrypt.apply(this, myArgs);

说明:第一行只是一个赋值;第二行使用 .split() 方法将字符串转换为字符数组,使用 .map(...) 将其解析为整数数组;最后,第三行使用 .apply() 方法将数组值应用为函数的参数,并调用 encrypt(1, 2, 3, 4, 5); 随心所欲。

关于javascript - 如何将数组值单独传递给函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29681188/

相关文章:

Java数组排序(我做错了什么)

arrays - 如何找到 numpy 数组中存在的最大值?

javascript - $.each 传递值给函数

c - C编程中扫描文件并将内容存储在数组中

javascript - 打印数组内某些对象日期范围内包含的所有日期的最佳方法是什么?

javascript - 使用jquery在html5中动态更改 `max`或 `min`

javascript - Javascript 在重载时会选择物理上最近的方法吗?

c++ - 动态模板数组

javascript - innerHTML的内容是 "undefined"

javascript - 图例和条形图颜色不匹配