javascript - 在一次调用 JavaScript 中发送多个参数

标签 javascript jquery

假设我正在尝试推送多个调用,例如:

var fields = [1,2];
fields.push(test("#test1", 1));
fields.push(test("#test2", 2));
fields.push(test("#test3", 3));
fields.push(newTest("#test5", 3, 'something'));

function test(a, b){
   // something here
}

function newTest(a, b, c){
   // something here
}

有没有一种有效的方法可以在一次调用中完成这一切?喜欢:

fields.push(test({"#test1": 1, "#test2": 2, "#test3": 3}), newTest(3, 4, "something"));

fields.push(test(["#test1": 1, "#test2": 2, "#test3": 3]), newTest(3, 4, "something"));

最佳答案

您正在寻找的是 Array.prototype.concat
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/concat

fields = fields.concat(
    test("#test1", 1),
    test("#test2", 2),
    test("#test3", 3),
    newTest("#test5", 3, 'something')
);

如果该值是一个数组,则推送该数组的值而不是整个数组。其他值直接推送。

关于javascript - 在一次调用 JavaScript 中发送多个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49132756/

相关文章:

javascript - 在函数中运行组合参数

javascript - 如何从javascript中的url中删除查询字符串数组

javascript - Ajax请求多次提交输入

javascript - Jquery,如何知道输入何时有 :invalid selector?

javascript - 跨浏览器文本到语音Javascript库

javascript - 使用固定位置固定标题会导致内容在滚动期间跳到标题下方

javascript - Knockout DatePicker 绑定(bind)项不会禁用 DatePicker

javascript - 延迟 for 循环内的 javascript 代码执行

javascript - 复选框只生效一次

javascript - Angular Directive(指令)单元测试中的模拟 Controller 实例化