javascript - 有没有办法在一个函数定义中提供两组剩余参数?
问题描述
我正在尝试使用一个接收不确定数量的元素和类的函数。元素的数量将始终与类的数量相匹配。我知道我可以使用剩余参数来接受未知数量的参数,但是甚至可以为两组做到这一点吗?
这就是我的想法⬇️:
const toggleClass = (axn, ...elements, ...classname) => {
elements[0].classList[axn](classname[0])
elements[1].classList[axn](classname[1])
}
heroBtn.addEventListener('mouseenter', () => toggleClass('add', arrowEl, btnTextEl, 'arrow-hover', 'btn-text-hover'))
heroBtn.addEventListener('mouseleave', () => toggleClass('remove', arrowEl, btnTextEl, 'arrow-hover', 'btn-text-hover'))
解决方案
否 - 如果可能的话,解释器将不清楚哪个参数进入哪个其余参数。例如与
fn = (...args1, ...args1) => {
和
fn('foo', 'bar', 'baz')
解释器如何决定将哪些元素放入哪个数组中?
您必须自己分离元素。
对于你正在做的事情,我更喜欢传递数组:
toggleClass(
'add',
[arrowEl, btnTextE1],
['arrow-hover', 'btn-text-hover']
);
然后迭代它们。
推荐阅读
- java - 不能从静态上下文中引用非静态变量 discoveryListener
- python - 字符串到 Json 处理
- c - 现代 x64 系统上的指针内部是什么?
- graph - 如何在 azure 函数中使用 GraphClient 添加内容类型的共享点列表项
- linear-programming - 如何将 PySCIPOpt 模型的解决方案复制到另一个模型?
- java - 如何在游戏中添加按钮以使两者都可见?
- c# - 将 URL 文档下载到文件夹
- python - HTTP 错误 400 使用 python 调用 api 的错误请求
- ruby - 使用 Ruby IO 混合输入/输出?
- python - use_avro_logical_types 参数听起来被忽略(至少对于日期)