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

Javascript 有没有办法在一个函数定义中提供两组rest参数?,javascript,function,parameters,arguments,parameter-passing,Javascript,Function,Parameters,Arguments,Parameter Passing,我正在尝试使用一个函数,该函数接受数量不确定的元素和类。元素的数量将始终与类的数量相匹配。我知道我可以使用rest参数来接受未知数量的参数,但是对于两个集合,甚至可以这样做吗 这就是我的想法⬇️: const toggleClass = (axn, ...elements, ...classname) => { elements[0].classList[axn](classname[0]) elements[1].classList[axn](classname[1])

我正在尝试使用一个函数,该函数接受数量不确定的元素和类。元素的数量将始终与类的数量相匹配。我知道我可以使用rest参数来接受未知数量的参数,但是对于两个集合,甚至可以这样做吗

这就是我的想法⬇️:

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

否-如果这是可能的,解释器将不清楚哪个参数进入哪个rest参数。如

fn = (...args1, ...args1) => {

解释器如何决定将哪些元素放入哪个数组

你得自己把这些元素分开

对于您正在执行的操作,我更愿意传递数组:

toggleClass(
  'add',
  [arrowEl, btnTextE1],
  ['arrow-hover', 'btn-text-hover']
);
然后迭代它们

toggleClass(
  'add',
  [arrowEl, btnTextE1],
  ['arrow-hover', 'btn-text-hover']
);