有没有办法在一个函数定义中提供两组剩余参数?

Is there a way to provide two sets of rest parameters in one function definition?

我正在尝试使用一个函数,该函数接受不确定数量的元素和 类。元素的数量将始终与 类 的数量匹配。我知道我可以使用剩余参数来接受未知数量的参数,但是否有可能对两个集合执行此操作?

我是这么想的⬇️:

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']
);

然后遍历它们。