javascript - 将可变数量的参数传递给看起来像“function(*x)”JavaScript 的函数
问题描述
我似乎找不到这个问题的答案,因为我真的不知道这叫什么,如果有解决方案已经指向我那里。
我正在尝试从underscore.js中使用它
_.intersection(*arrays)
我知道我可以像这样使用该功能:
var intersection = _.intersection(['a','b'], ['a','c'])
然后
['a']
回来。
但是,我有可变数量的数组,所以我想做这样的事情:
var intersection = _.intersection(array for array in my_arrays)
我知道我可以这样做:
var intersection = my_arrays[0];
my_arrays.forEach(arr => intersection = _.intersection(intersection, arr) )
但这似乎并不干净。如何才能做到这一点?谢谢。
解决方案
大多数现代浏览器都支持 ES6,因此您可以使用扩展运算符来执行此操作:
const my_arrays = [[1, 2], [1, 3, 4], [1, 5, 6, 7]];
dummy_intersection(...my_arrays);
function dummy_intersection(...arrays) {
console.log(arrays[0]);
}
附带说明一下,通常认为使用 lodash 比使用 underscore 更好。
推荐阅读
- r - Rmarkdown 文件不是编织的,它不允许执行 for 循环
- nlp - ValueError:使用 MFCC 提取特征时,无法使用“常量”或“空”以外的模式扩展空轴 0
- python - 使用 AWS Lambda 函数将 .txt 转换为 .csv
- azure - .NET Core 3.1 的应用程序洞察实时指标没有数据
- jquery - 第一次ajax成功后,jquery Ajax徽标删除不起作用Laravel 7 jquery
- linux - 我正在尝试将 I2C 与 beaglebone 一起使用,但我不能写入超过 1 个字节
- java - 求解 N=N+1 Java 算法
- python-3.x - 使用基于变量 z 的带有不同标记的 seaborn 进行连续绘图
- java - 如何从包含 JRE 的 mac os(使用 windows 或 linux)的 jar 创建可执行文件
- python - 如何检查并等待消息下的反应?