JavaScript,数组作为参数

标签 javascript arrays function

如何提高效率,想象一个您不知道需要多少参数的方法。

例如一个简单的ajax插入,但你不知道html中有多少输入... 那么你需要发送例如4将是这样的:

function insert_these(data1, data2, data3, data4){
     $.post( 'test.php', { dat1: data1, dat2: data2, dat3: data3, dat4: data4 );
};

但是,如果您想要超过 4 个输入?

如何创建一个将参数作为数组的函数,如下所示:

inputs = new array();

function insert_these(inputs){

    //then the rest of code

    $.post(   'test.php',   for (var i = 0; i < inputs.lenght; i++){
    dat+i: inputs+i,   }; );

};

最佳答案

这称为 variadic function而且很容易用 JavaScript 构建:有一个 arguments伪数组已在您的函数中可用。

简单地迭代它,就像遍历数组并构建对象一样:

function insert_these(){
    var obj = {};
    for (var i=0; i<arguments.length; i++) obj['dat'+(i+1)] = arguments[i];
    $.post('test.php', obj);
}

关于JavaScript,数组作为参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23308890/

相关文章:

javascript - 将字符串从函数传递到变量 Javascript

javascript setTimeout() 输出保存为变量

javascript - 排序超过 10 行的 HTML 表格不起作用

ruby-on-rails - 将 Json 数据解析为简单数组 Ruby on Rails 4

java - 在java中解析CSV文件,并处理空值

function - Dart 编程语言中的函数和方法有什么区别?

c - 如何返回到 main 而不是调用它的函数?

javascript - JS onunload 事件并不总是有效

javascript - 如何从另一台服务器接收数据(如推送通知)

javascript - 如何使用没有 ID 的 JavaScript 更改类?