Javascript 交替休息论点

Javascript 交替休息论点,javascript,syntax,parameters,arguments,Javascript,Syntax,Parameters,Arguments,是否有一种语法简洁的方法来创建不确定数量的交替参数?下面是我想要实现的一个例子: myFunction('foo',1); ///performs action A with 'foo', then action B with 1; myFunction('foo', 1, 'bar', 2, 'FOO', 3, 'BAR', 4); ///performs action A with 'foo', then action B with 1; ///performs action A with

是否有一种语法简洁的方法来创建不确定数量的交替参数?下面是我想要实现的一个例子:

myFunction('foo',1);
///performs action A with 'foo', then action B with 1;

myFunction('foo', 1, 'bar', 2, 'FOO', 3, 'BAR', 4);
///performs action A with 'foo', then action B with 1;
///performs action A with 'bar', then action B with 2;
///performs action A with 'FOO', then action B with 3;
///performs action A with 'BAR', then action B with 4;

我知道您可能会使用rest参数来处理这个问题……但是有没有任何方法(或使用任何其他运算符)来实现上述功能?

您可以使用模运算符来处理偶数索引元素和奇数索引元素,如下所示:

constdoa=(arg)=>console.log(`A:${arg}`);
constdob=(arg)=>console.log(`B:${arg}`);
函数myFunction(…args){
参数forEach((el,i)=>{
i%2==0?doA(el):doB(el);
});
}

myFunction(“foo”,1,“bar”,2,“baz”,3)您可以使用模运算符对偶数索引元素执行一项操作,对奇数索引元素执行另一项操作,如下所示:

constdoa=(arg)=>console.log(`A:${arg}`);
constdob=(arg)=>console.log(`B:${arg}`);
函数myFunction(…args){
参数forEach((el,i)=>{
i%2==0?doA(el):doB(el);
});
}

myFunction(“foo”,1,“bar”,2,“baz”,3)是的,您可以很容易地做到这一点-假设我正确地解释为“使用'foo'执行操作A”,您的意思是“使用foo作为参数调用函数A”:


是的,您可以很容易地做到这一点-假设我正确地解释了“使用'foo'执行操作A”,您的意思是“使用foo作为参数调用函数A”:


以下是其他答案的后续内容:

如果无法使用ES6扩展运算符
(这是首选),则可以使用
参数
数组替换
…args


以下是其他答案的后续内容:

如果无法使用ES6扩展运算符
(这是首选),则可以使用
参数
数组替换
…args

function myFunction(...args) {
    args.forEach((arg, i) => {
        if (i % 2 === 0) {
            A(arg);
        }
        else {
            B(arg);
        } 
    } 
}