JavaScript,数组作为参数

时间:2014-04-26 09:15:12

标签: 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,   }; );

};

2 个答案:

答案 0 :(得分:2)

这称为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);
}

答案 1 :(得分:2)

您可以简单地使用如下对象:

var params = {
  data1: 'data1',
  data2: 'data2'
}

insert(params);

function insert(parameters) {
   // other stuff here
   $.post('test.php', parameters);
   // other stuff here
}